我正在尝试了解 python 中的最佳实践。如果我定义一个函数来访问(但不更改)全局变量,通常不需要在函数中将变量指定为全局变量。但是将全局变量传递给函数会更快吗?我问是因为我遇到了一些关于查找全局变量成本的引用资料,但我不确定我是否理解。例如:
def f1(localList):
for element in localList:
if element in globalSet:
pass #do stuff.
def f2(localList, localSet):
for element in localList:
if element in localSet:
pass #do stuff.
globalList = <arbitrary list>
globalSet = <arbitrary set>
f1(globalList)
f2(globalList, globalSet)
与 f1 相比,f2 通常被认为是更快/更好/更“pythonic”的方法吗?
请您参考如下方法:
如果 globalList 和 globalSet 数据与函数紧密绑定(bind),我会使用类并将这些列表定义为类属性,将那些函数定义为静态方法(或实例方法) ,无论我需要什么)
