*My post explains private attributes about the variables, methods and classes in a class.
These below are the experiments using single, double and triple leading and trailing underscores. *It's about variables, functions and classes and the variables, functions and classes in a function:
Variables:
_var = "_var" # SLU (Acceptable)
__var = "__var" # DLU (Acceptable)
___var = "___var" # TLU (Acceptable)
var_ = "var_" # STU (Acceptable)
var__ = "var__" # DTU (Acceptable)
var___ = "var___" # TTU (Acceptable)
_var_ = "_var_" # SLU & STU (Acceptable)
__var_ = "__var_" # DLU & STU (Acceptable)
___var_ = "___var_" # TLU & STU (Acceptable)
_var__ = "_var__" # SLU & DTU (Acceptable)
__var__ = "__var__" # DLU & DTU (Acceptable)
___var__ = "___var__" # TLU & DTU (Acceptable)
_var___ = "_var___" # SLU & TTU (Acceptable)
__var___ = "__var___" # DLU & TTU (Acceptable)
___var___ = "___var___" # TLU & TTU (Acceptable)
print(_var) # _var
print(__var) # __var
print(___var) # ___var
print(var_) # var_
print(var__) # var__
print(var___) # var___
print(_var_) # _var_
print(__var_) # __var_
print(___var_) # ___var_
print(_var__) # _var__
print(__var__) # __var__
print(___var__) # ___var__
print(_var___) # _var___
print(__var___) # __var___
print(___var___) # ___var___
Methods:
def _func(self): pass # SLU (Acceptable)
def __func(self): pass # DLU (Acceptable)
def ___func(self): pass # TLU (Acceptable)
def func_(self): pass # STU (Acceptable)
def func__(self): pass # DTU (Acceptable)
def func___(self): pass # TTU (Acceptable)
def _func_(self): pass # SLU & STU (Acceptable)
def __func_(self): pass # DLU & STU (Acceptable)
def ___func_(self): pass # TLU & STU (Acceptable)
def _func__(self): pass # SLU & DTU (Acceptable)
def __func__(self): pass # DLU & DTU (Acceptable)
def ___func__(self): pass # TLU & DTU (Acceptable)
def _func___(self): pass # SLU & TTU (Acceptable)
def __func___(self): pass # DLU & TTU (Acceptable)
def ___func___(self): pass # TLU & TTU (Acceptable)
print(_func.__name__) # _func
print(__func.__name__) # __func
print(___func.__name__) # ___func
print(func_.__name__) # func_
print(func__.__name__) # func__
print(func___.__name__) # func___
print(_func_.__name__) # _func_
print(__func_.__name__) # __func_
print(___func_.__name__) # ___func_
print(_func__.__name__) # _func__
print(__func__.__name__) # __func__
print(___func__.__name__) # ___func__
print(_func___.__name__) # _func___
print(__func___.__name__) # __func___
print(___func___.__name__) # ___func___
Classes:
class _Cls: pass # SLU (Acceptable)
class __Cls: pass # DLU (Acceptable)
class ___Cls: pass # TLU (Acceptable)
class Cls_: pass # STU (Acceptable)
class Cls__: pass # DTU (Acceptable)
class Cls___: pass # TTU (Acceptable)
class _Cls_: pass # SLU & STU (Acceptable)
class __Cls_: pass # DLU & STU (Acceptable)
class ___Cls_: pass # TLU & STU (Acceptable)
class _Cls__: pass # SLU & DTU (Acceptable)
class __Cls__: pass # DLU & DTU (Acceptable)
class ___Cls__: pass # TLU & DTU (Acceptable)
class _Cls___: pass # SLU & TTU (Acceptable)
class __Cls___: pass # DLU & TTU (Acceptable)
class ___Cls___: pass # TLU & TTU (Acceptable)
print(_Cls().__class__.__name__) # _Cls
print(__Cls().__class__.__name__) # __Cls
print(___Cls().__class__.__name__) # ___Cls
print(Cls_().__class__.__name__) # Cls_
print(Cls__().__class__.__name__) # Cls__
print(Cls___().__class__.__name__) # Cls___
print(_Cls_().__class__.__name__) # _Cls_
print(__Cls_().__class__.__name__) # __Cls_
print(___Cls_().__class__.__name__) # ___Cls_
print(_Cls__().__class__.__name__) # _Cls__
print(__Cls__().__class__.__name__) # __Cls__
print(___Cls__().__class__.__name__) # ___Cls__
print(_Cls___().__class__.__name__) # _Cls___
print(__Cls___().__class__.__name__) # __Cls___
print(___Cls___().__class__.__name__) # ___Cls___
The variables in a function:
def func():
_var = "_var" # SLU (Acceptable)
__var = "__var" # DLU (Acceptable)
___var = "___var" # TLU (Acceptable)
var_ = "var_" # STU (Acceptable)
var__ = "var__" # DTU (Acceptable)
var___ = "var___" # TTU (Acceptable)
_var_ = "_var_" # SLU & STU (Acceptable)
__var_ = "__var_" # DLU & STU (Acceptable)
___var_ = "___var_" # TLU & STU (Acceptable)
_var__ = "_var__" # SLU & DTU (Acceptable)
__var__ = "__var__" # DLU & DTU (Acceptable)
___var__ = "___var__" # TLU & DTU (Acceptable)
_var___ = "_var___" # SLU & TTU (Acceptable)
__var___ = "__var___" # DLU & TTU (Acceptable)
___var___ = "___var___" # TLU & TTU (Acceptable)
print(_var) # _var
print(__var) # __var
print(___var) # ___var
print(var_) # var_
print(var__) # var__
print(var___) # var___
print(_var_) # _var_
print(__var_) # __var_
print(___var_) # ___var_
print(_var__) # _var__
print(__var__) # __var__
print(___var__) # ___var__
print(_var___) # _var___
print(__var___) # __var___
print(___var___) # ___var___
func()
The functions in a function:
def func():
def _func(): pass # SLU (Acceptable)
def __func(): pass # DLU (Acceptable)
def ___func(): pass # TLU (Acceptable)
def func_(): pass # STU (Acceptable)
def func__(): pass # DTU (Acceptable)
def func___(): pass # TTU (Acceptable)
def _func_(): pass # SLU & STU (Acceptable)
def __func_(): pass # DLU & STU (Acceptable)
def ___func_(): pass # TLU & STU (Acceptable)
def _func__(): pass # SLU & DTU (Acceptable)
def __func__(): pass # DLU & DTU (Acceptable)
def ___func__(): pass # TLU & DTU (Acceptable)
def _func___(): pass # SLU & TTU (Acceptable)
def __func___(): pass # DLU & TTU (Acceptable)
def ___func___(): pass # TLU & TTU (Acceptable)
print(_func.__name__) # _func
print(__func.__name__) # __func
print(___func.__name__) # ___func
print(func_.__name__) # func_
print(func__.__name__) # func__
print(func___.__name__) # func___
print(_func_.__name__) # _func_
print(__func_.__name__) # __func_
print(___func_.__name__) # ___func_
print(_func__.__name__) # _func__
print(__func__.__name__) # __func__
print(___func__.__name__) # ___func__
print(_func___.__name__) # _func___
print(__func___.__name__) # __func___
print(___func___.__name__) # ___func___
func()
The classes in a function:
def func():
class _Cls: pass # SLU (Acceptable)
class __Cls: pass # DLU (Unacceptable)
class ___Cls: pass # TLU (Unacceptable)
class Cls_: pass # STU (Acceptable)
class Cls__: pass # DTU (Acceptable)
class Cls___: pass # TTU (Acceptable)
class _Cls_: pass # SLU & STU (Acceptable)
class __Cls_: pass # DLU & STU (Unacceptable)
class ___Cls_: pass # TLU & STU (Unacceptable)
class _Cls__: pass # SLU & DTU (Acceptable)
class __Cls__: pass # DLU & DTU (Acceptable)
class ___Cls__: pass # TLU & DTU (Acceptable)
class _Cls___: pass # SLU & TTU (Acceptable)
class __Cls___: pass # DLU & TTU (Acceptable)
class ___Cls___: pass # TLU & TTU (Acceptable)
print(_Cls().__class__.__name__) # _Cls
print(__Cls().__class__.__name__) # __Cls
print(___Cls().__class__.__name__) # ___Cls
print(Cls_().__class__.__name__) # Cls_
print(Cls__().__class__.__name__) # Cls__
print(Cls___().__class__.__name__) # Cls___
print(_Cls_().__class__.__name__) # _Cls_
print(__Cls_().__class__.__name__) # __Cls_
print(___Cls_().__class__.__name__) # ___Cls_
print(_Cls__().__class__.__name__) # _Cls__
print(__Cls__().__class__.__name__) # __Cls__
print(___Cls__().__class__.__name__) # ___Cls__
print(_Cls___().__class__.__name__) # _Cls___
print(__Cls___().__class__.__name__) # __Cls___
print(___Cls___().__class__.__name__) # ___Cls___
func()