DEV Community

Super Kai (Kazuya Ito)
Super Kai (Kazuya Ito)

Posted on

Underscore in Python (3)

Buy Me a Coffee

*Memo:

  • My post explains the single, double and triple leading and trailing underscore with the variables, methods and classes in a class.
  • My post explains the single, double and triple leading and trailing underscore with variables, functions and classes.

A single, double and triple leading and trailing underscore can be used with the variables, functions and classes in a function:

<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() 
Enter fullscreen mode Exit fullscreen mode

<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() 
Enter fullscreen mode Exit fullscreen mode

<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() 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)