Python 世界中的预创建值
Posted
技术标签:
【中文标题】Python 世界中的预创建值【英文标题】:Precreated values in the Python universe 【发布时间】:2017-04-01 14:48:46 【问题描述】:据我所知(如果我错了,请纠正我)Python 解释器在启动时创建了一些值。
有没有办法找出这些值是什么?
【问题讨论】:
其他然后阅读源代码和/或文档?没有。 @freakish:但信息是否正确?值是在启动时创建的?必须有一个 PEP 或其他解释... 显然所有内置函数也是在启动时生成的值。几个常量,如True, False, None
一些字符串(例如空),-5
和 256
之间的整数,可能更多。信息分散在文档中。例如,您可以在此处阅读有关整数的信息:docs.python.org/2/c-api/int.html
@freakish 谢谢,如果这是所有信息,请回答。你已经帮助了我。
【参考方案1】:
检查globals()
、locals()
和__builtins__
。
例子:
>>> '__name__' in locals()
True
>>> locals()['__name__']
'__main__'
例如,如果您在交互式解释器中,__file__
不存在。
从脚本运行:
print('__file__' in locals())
打印:
True
在交互式解释器中运行:
>>> '__file__' in locals()
False
【讨论】:
Niether 全局变量、本地变量或您的任何示例(__builtins__
除外)都是在 Python 启动时创建的。它们是在执行模块/功能期间创建的。以上是关于Python 世界中的预创建值的主要内容,如果未能解决你的问题,请参考以下文章
用实践带领你进入numpy的世界——:numpy基本数组创建函数