Python 变量名后加下划线

Underscore after a variable name in Python

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

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

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

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

没有语义与尾随下划线相关联。根据 PEP 8,Python 的风格指南,敦促用户使用尾部下划线,以免与 Python 关键字 and/or Python 内置冲突:

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

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

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