将关键字作为参数传递

时间:2015-08-05 22:52:34

标签: python coding-style pep8

是否反对Python" style"将关键字作为函数参数? e.g。

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

......除了风格,
是否会出现任何潜在的问题?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

问题归结为范围。如果您拨打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()构造函数和其他方法。

希望这有帮助!