我可以在Python中使用变量名“type”作为函数参数吗?

时间:2010-03-10 15:13:20

标签: python

我可以使用type作为python函数参数的名称吗?

def fun(name, type):
    ....

5 个答案:

答案 0 :(得分:33)

你可以,但你不应该。使用内置命令的名称并不是一个好习惯,因为它们会覆盖该范围内置内置的名称。如果必须使用该单词,请针对给定的上下文稍作修改。

虽然对于没有使用type的小项目可能无关紧要,但最好不要习惯使用关键字/内置函数的名称。如果您绝对必须使用与关键字冲突的名称,则Python Style Guide会为此提供解决方案:

  

single_trailing_underscore_:用于   避免与之发生冲突的惯例         Python关键字,例如

答案 1 :(得分:7)

你可以,那没关系。即使不影响内置函数的建议很重要,但如果标识符很常见,它会更强烈地应用,因为它会增加混淆和冲突。它不会出现 type 会引起混淆(但你会比其他人更了解),我可以使用你所拥有的。

答案 2 :(得分:3)

您可以使用遵循标识符规则的任何非关键字作为标识符。 type不是关键字,但使用它会影响内置的type

答案 3 :(得分:2)

您可以,但您将屏蔽内置名称类型。所以最好不要这样做。

答案 4 :(得分:0)

您可以使用_type作为

#  Example
def foo(_type):
    pass

如果您使用type,则无法在该功能中使用type()

>>> #For Example
>>> type('foo')
<type 'str'>
>>> type = 'bar'
>>> type('foo')
...
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'str' object is not callable