【问题标题】:Precreated values in the Python universePython 世界中的预创建值
【发布时间】:2017-04-01 14:48:46
【问题描述】:

据我所知(如果我错了,请纠正我)Python 解释器在启动时创建了一些值。

有没有办法找出这些值是什么?

【问题讨论】:

  • 其他然后阅读源代码和/或文档?没有。
  • @freakish:但信息是否正确?值是在启动时创建的?必须有一个 PEP 或其他解释...
  • 显然所有内置函数也是在启动时生成的值。几个常量,如 True, False, None 一些字符串(例如空),-5256 之间的整数,可能更多。信息分散在文档中。例如,您可以在此处阅读有关整数的信息:docs.python.org/2/c-api/int.html
  • @freakish 谢谢,如果这是所有信息,请回答。你已经帮助了我。

标签: python datamodel python-datamodel


【解决方案1】:

检查globals()locals()__builtins__

例子:

>>> '__name__' in locals()
True
>>> locals()['__name__']
'__main__'

例如,如果您在交互式解释器中,__file__ 不存在。

从脚本运行:

print('__file__' in locals())

打印:

True

在交互式解释器中运行:

>>> '__file__' in locals()
False

【讨论】:

  • Niether 全局变量、本地变量或您的任何示例(__builtins__ 除外)都是在 Python 启动时创建的。它们是在执行模块/功能期间创建的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多