您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么要在Python中为内置函数分配值?

为什么要在Python中为内置函数分配值?

Python希望您对您的代码负责,这就是为什么。Python没有私有属性,没有受保护的类,并且几乎没有关于可以使用的名称的限制。

是的,这意味着您可能会意外重命名内置文件。为代码创建单元测试,使用lint,通常,您将很快学会发现意外使用所需的内置组件。这与意外地在代码中重用其他名称没有什么不同。

请注意,您只是 掩盖 了内置名称。找不到全局下一个名称的查找将在内置名称空间中进行,因此,如果您设置str其他名称,则会在内置名称空间之前找到。只需删除全局:

>>> str = 'foobar'
>>> isinstance('foobar', str)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types
>>> del str
>>> isinstance('foobar', str)
True

另一种选择是使每个内置名称成为保留关键字,从而使您可以使用的名称列表大大减少,并且在重新定义这些对象时没有灵活性。例如,Python 2.7有144个这样的名称

在这种情况下,请参阅Guido van Rossum撰写的博客文章,内容为为什么NoneTrue并且False现在是Python 3中的关键字

因为您永远无法在任何Python程序中的任何地方将它们用作变量名或函数名,所以使用Python的每个人都必须了解该语言中的所有保留字,即使它们不需要它们。因此,我们尝试使保留字的列表保持较小,并且核心开发人员在向该语言添加新的保留字之前会费力工作。

python 2022/1/1 18:26:21 有598人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶