不包含在模块符号表中的关键字

时间:2018-06-02 01:09:49

标签: python

我有这样一个drafts.py模块:

import subprocess
print(globals())

运行它并获取

In [77]: subprocess.getoutput('python drafts.py')
Out[77]: "{'__name__': '__main__', '__doc__': None, '__package__': 
None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x102c5a0b8>, 
'__spec__': None, 
'__annotations__': {}, 
'__builtins__': <module 'builtins' (built-in)>, 
'__file__': 'drafts.py', 
'__cached__': None, 'subprocess': <module 'subprocess' from '/Users/me/anaconda3/lib/python3.6/subprocess.py'>}"

我可以从其符号表中包含builtinsimported module的结果中读取 但是,关键字不包含在符号表中。

如果不包含在模块的符号表中,我怎么能无限制地使用它们?

1 个答案:

答案 0 :(得分:1)

您的意思并不完全清楚,但Python关键字本身并不是符号。它们由解析器直接处理,因此不会在任何符号表中查找它们。