我可以在我自己的代码中使用单词type
吗?还是保留它?我的函数头:
def get(
self,
region='Delhi',
city='Delhi',
category='Apartments',
type='For sale',
limit=60,
PAGESIZE=5,
year=2012,
month=1,
day=1,
next_page=None,
threetapspage=0,
):
发布于 2012-05-13 07:12:28
使用type
作为函数的关键字参数将在函数的作用域内屏蔽built-in function "type"。因此,虽然这样做不会引发SyntaxError
,但它不被认为是良好的做法,我会避免这样做。
发布于 2012-05-13 07:12:22
都不是。它不是一个保留字(可以在http://docs.python.org/reference/lexical_analysis.html#keywords上找到它的列表),但它通常是一个不好的主意来隐藏任何内置。
发布于 2019-11-28 01:50:21
虽然其他人指出,隐藏python内置代码是不好的形式,但只有在将函数或函数参数命名为type
时才会出现这种情况。
应该注意的是,如果您将类属性命名为type
,则python内置的type
不会以任何方式隐藏。
即使在引用类属性时,它也总是以类实例self
或自定义实例变量作为前缀-并且python内置不会受到阻碍。
例如:
好的:
>>> class SomeClass():
... type = 'foobar'
...
... def someFunction(self):
... return self.type
不好:
>>> def type(): # Overrides python built-in in global scope
... pass
...
>>> def foobar(type):
... return type # Overrides python built-in within func
https://stackoverflow.com/questions/10568087
复制相似问题