我有这样一个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'>}"
我可以从其符号表中包含builtins
和imported module
的结果中读取
但是,关键字不包含在符号表中。
如果不包含在模块的符号表中,我怎么能无限制地使用它们?
答案 0 :(得分:1)
您的意思并不完全清楚,但Python关键字本身并不是符号。它们由解析器直接处理,因此不会在任何符号表中查找它们。