将关键字作为参数传递

Passing keywords as parameters

将关键字作为函数参数是否违反Python "style"? 例如

def findStartTime(dict):
  for key, value in dict.iteritems():
    #do something based on values in dictionary
  return something

...除了风格,
有什么潜在的问题会出现吗?

如果将来出于某种原因你想在函数内部调用 dict() 来创建字典怎么办?无论如何,给变量起有意义的名字,而不是按类型命名。

问题归结为范围。如果您调用某些东西 dict,您将无法访问 dict 方法。

例如,如果您调用变量 math 那么您将无法访问 math.method():

>>> import math
>>> math = "MATH"
>>> rounded_number = math.floor(3.14)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'floor'
>>> import math
>>> rounded_number = math.floor(3.14)
>>> rounded_number
3.0

所以我导入数学,然后用字符串覆盖模块。因此 AttributeError

然后我重新导入 math 并且繁荣,math.floor() 又是一个有效的方法。所以基本上,如果你调用 dict "dict" 它将阻止使用 dict() 构造函数和其他方法。

希望对您有所帮助!