首页 > 试题广场 >

python是用C语言写成的,根据名字空间特性,以下代码经过

[单选题]
python是用C语言写成的,根据名字空间特性,以下代码经过python编译器编译后,一共得到()个PyCodeObject对象。
class A:
    pass
def Fun():
    pass
a = A()
Fun()
  • = A()<br>Fun()
  • 1
  • 2
  • 3
  • 4

Python编译器在对Python源码进行编译的时候,对代码中的一个Code Block,会创建一个PyCodeObject对象与这段代码对应。
Python中确定Code Block的规则:当进入一个新的名字空间或作用域时,就算进入了一个新的Code Block了。
即:一个名字空间对应一个Code Block,它会对应一个PyCodeObject。
现在暂且认为名字空间就是符号的上下文环境,是名字到对象的映射。名字空间以后会详述。
在Python中,类、函数和module都对应着一个独立的名字空间,因此都会对应一个PyCodeObject对象。

发表于 2018-06-24 17:16:11 回复(0)