Buy Me a Coffee

*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()