一个变量名后,我破译别人的代码,我看到以下内容:下划线在Python
def get_set_string(set_):
if PY3:
return str(set_)
else:
return str(set_)
是否下划线的变量之后意味着什么或者这只是变量名的一部分,意味着什么?
一个变量名后,我破译别人的代码,我看到以下内容:下划线在Python
def get_set_string(set_):
if PY3:
return str(set_)
else:
return str(set_)
是否下划线的变量之后意味着什么或者这只是变量名的一部分,意味着什么?
没有语义与尾部下划线相关联。据PEP 8
,风格指南Python中,用户被敦促使用尾随为了强调不与Python的关键字和/或Python的内置插件冲突:
single_trailing_underscore_
:使用约定,以避免与Python关键词的冲突,例如
Tkinter.Toplevel(master, class_='ClassName')
使用set_
意味着,内置名称集,即set
,不会得到阴影和失去函数调用期间其已知的参考。
这意味着什么。我相信写这个的人想要一个指定集合的变量名,但set
是Python中的一个类型(它创建了一个集合),所以他添加了下划线。
这只是名称的一部分。你需要问作者。 –
这是为了区别它与'set',内置的集合类型,以避免名称的阴影 - [*''single_trailing_underscore_':常规使用,以避免与Python关键字冲突*](https://www.python .ORG的/ dev/PEPS/PEP-0008 /#描述命名的样式)。 – jonrsharpe
谢谢你澄清这一点 – nanachan