在阅读dir(__builtins__)
python2.7中列出的对象时,我注意到关键字 print
在那里.
现在在python3.5下我可以看到它print
,exec
现在是对象.
这是什么原因?为什么甚至__builtins__
开始列出它?特别是这个关键字,如果它从未在那里分组,它会有什么不同.似乎import
也有可能被列入那里?
print
是__builtins__
因为真的有一个print
内置的功能.如果这样做from __future__ import print_function
,print
关键字将被禁用并print
引用内置.
exec
并且import
不在__builtins__
.你最有可能把它们混合起来使用内置的功能eval
和__import__
.
抛开:不要使用__builtins__
.它是一个实现细节,它的价值在不同的上下文中是不同的.如果您想要包含所有内置名称的模块,请使用import __builtin__
或import builtins
在Python 3中.
归档时间: |
|
查看次数: |
56 次 |
最近记录: |