Underscore after a variable name in Python

后端 未结 2 454
余生分开走
余生分开走 2021-01-03 19:57

I am deciphering someone else\'s code and I see the following:

def get_set_string(set_):
     if PY3:
         return str(set_)
     else:
         return st         


        
相关标签:
2条回答
  • 2021-01-03 20:16

    It means nothing. I believe the one who wrote this wanted a variable name designating a set, but set is a type in Python (which creates a set), so he added the underscore.

    0 讨论(0)
  • 2021-01-03 20:21

    No semantics are associated with a trailing underscore. According to PEP 8, the style guide for Python, users are urged to use trailing underscores in order to not conflict with Python keywords and/or Python built-ins:

    single_trailing_underscore_ : used by convention to avoid conflicts with Python keyword, e.g.

    Tkinter.Toplevel(master, class_='ClassName')

    Using set_ means that the built-in name for sets, i.e set, won't get shadowed and lose its known reference during the function call.

    0 讨论(0)
提交回复
热议问题