【问题标题】:Underscore after a variable name in PythonPython中变量名后的下划线
【发布时间】:2016-12-30 18:25:38
【问题描述】:

我正在破译别人的密码,我看到以下内容:

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

变量后面的下划线是否有任何含义,或者这只是变量名称的一部分并且没有任何含义?

【问题讨论】:

标签: python python-3.x naming-conventions


【解决方案1】:

没有任何意义。我相信写这篇文章的人想要一个变量名来指定一个集合,但set 是 Python 中的一种类型(它创建一个集合),所以他添加了下划线。

【讨论】:

    【解决方案2】:

    没有语义与尾随下划线相关联。根据 Python 风格指南 PEP 8,建议用户使用尾随下划线,以免与 Python 关键字和/或 Python 内置函数冲突:

    single_trailing_underscore_ :按惯例使用,以避免与 Python 关键字冲突,例如

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

    使用set_ 意味着集合的内置名称,即set,在函数调用期间不会被隐藏并丢失其已知引用。

    【讨论】:

      最近更新 更多