我经常想知道以下情况是否有最佳实践。
比方说,我想访问 Python 脚本中的本地文件,因此创建一个指向数据集的全局变量 path。
现在我正在编写一个函数,它应该有一个 path 变量作为参数。 我知道函数中的局部变量会掩盖全局变量,但我只是觉得写起来不太令人满意。
我想我记得看到人们只是在局部变量之前写下划线,就像path=path
那样。
有这样的事吗? 有没有最佳实践? 如何命名与全局参数同名的函数参数?最佳 乔
_path=path
vars
global
和/或将它们打包到字典中(如果有任何重要的计数)
SCREAMING_SNAKE_CASE
但是,我也认为以这种方式设置默认参数是不好的做法,因为它们将在运行时评估一次,而外部功能可能希望将它们设置为其他东西.. 相反(特别是对于类),设置默认为
PATH_DEFAULT = pathlib.Path("/my_path")
CONFIG = {
"path": pathlib.Path("/my_path"),
}
,然后在运行时查找它
None
if argname is None: ...
设置默认参数时请注意这种情况
class Foo:
path_default = pathlib.Path("/my_path")
def __init__(self, path=None, *args):
if path is None:
path = self.path_default