2010-03-10 186 views

回答

31

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

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

single_trailing_underscore_:使用 约定,以避免与 Python关键词,例如冲突

+13

顺便说一句,因为类型是这样一个通用的,经常被滥用的词,所以在“car_type”或“animal_type”中添加一个qualifer使得我有更多的自我记录程序 – mjv 2010-03-10 15:23:28

+0

我曾经使用过tipe,但是我一直讨厌它的样子。现在我用'typ' – rbp 2016-01-16 16:02:54

+2

哈哈,这是一个笑话@rbp,对吧? ...对? – Bloke 2017-01-26 08:57:47

2

你可以,但你会掩盖内置的名称类型。所以最好不要这样做。

3

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

8

你可以,那很好。尽管不建议暗影建筑物的建议很重要,但如果标识符很常见,它会更有效,因为这会增加混淆和碰撞。它不会出现类型这里会引起混淆(但您会比其他人更了解这一点),并且我可以使用您所拥有的。

+3

+1提及潜在的困惑。我认为这是一个比可能影响内建的技术问题更大的问题:读代码的人(甚至可能是编写它的人)可能期望'type'指向内建。相比之下,意外隐藏内置'类型'的机会看起来很小:它在实际代码中并不常用。 – 2010-03-10 15:34:55

-1

您可以使用_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 
相关问题