python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python重新引入被覆盖的自带function

Python重新引入被覆盖的自带function

投稿:hebedich

最近在写python应用时遇到一个问题: 引入某个模块时会自动引入自定义的int到python的namespace中, 从而覆盖了python自带的int function. 因为我们需要使用python的int, 所以不得不找到重新引入这int的方法.

幸运的是, 这一问题还是很容易解决的, 我们只需要使用__builtins__:

from __builtins__ import int as py_int

这样一来我们又可以重新使用python的int了, 但在此时叫做py_int.

一个function或变量的被覆盖最常见的原因是在引用时使用了"*":

from something import *

当这样使用import时, 我们无法明确的指导究竟引入了哪些变量或function, 也无法知道这些变量或function是否会覆盖原来的变量或function. 所以这也是在使用import时不推荐使用"*"的主要原因之一.

在python 3中, 可以使用builtins代替__builtins__.

您可能感兴趣的文章:
阅读全文