我可以使用type
作为python函数参数的名称吗?
def fun(name, type):
....
答案 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