Underscore after a variable name in Python

夙愿已清 提交于 2019-12-09 14:09:15

问题


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

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

Does the underscore AFTER the variable mean anything or is this just a part of the variable's name and means nothing?


回答1:


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.




回答2:


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.



来源:https://stackoverflow.com/questions/39109398/underscore-after-a-variable-name-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!