首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在我的代码中使用python单词"type“安全吗?

在我的代码中使用python单词"type“安全吗?
EN

Stack Overflow用户
提问于 2012-05-13 07:08:15
回答 5查看 26.2K关注 0票数 43

我可以在我自己的代码中使用单词type吗?还是保留它?我的函数头:

代码语言:javascript
复制
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,
):
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-05-13 07:12:28

使用type作为函数的关键字参数将在函数的作用域内屏蔽built-in function "type"。因此,虽然这样做不会引发SyntaxError,但它不被认为是良好的做法,我会避免这样做。

票数 55
EN

Stack Overflow用户

发布于 2012-05-13 07:12:22

都不是。它不是一个保留字(可以在http://docs.python.org/reference/lexical_analysis.html#keywords上找到它的列表),但它通常是一个不好的主意来隐藏任何内置。

票数 15
EN

Stack Overflow用户

发布于 2019-11-28 01:50:21

虽然其他人指出,隐藏python内置代码是不好的形式,但只有在将函数或函数参数命名为type时才会出现这种情况。

应该注意的是,如果您将类属性命名为type,则python内置的type不会以任何方式隐藏。

即使在引用类属性时,它也总是以类实例self或自定义实例变量作为前缀-并且python内置不会受到阻碍。

例如:

好的:

代码语言:javascript
复制
>>> class SomeClass():
...     type = 'foobar'
...
...     def someFunction(self):
...         return self.type

不好:

代码语言:javascript
复制
>>> def type(): # Overrides python built-in in global scope
...     pass
...
>>> def foobar(type):
...     return type # Overrides python built-in within func
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10568087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档