def f():
print ‘hello’
Python函数在编译的时候会创建单独的PyCodeObject对象,但是有意思的是上面这段代码会分布在两个PyCodeObject,def f():这句话编译的字节码位于文件PyCodeObject中,这句话其实是创建了一个PyFuncObject对象,并将这个对象和f这个变量在global命名空间中创建约束,然后创建一个新的PyCodeObject,print ‘hello’的字节码就是放在这个PyCodeObject中。
def f():
print ‘hello’
Python函数在编译的时候会创建单独的PyCodeObject对象,但是有意思的是上面这段代码会分布在两个PyCodeObject,def f():这句话编译的字节码位于文件PyCodeObject中,这句话其实是创建了一个PyFuncObject对象,并将这个对象和f这个变量在global命名空间中创建约束,然后创建一个新的PyCodeObject,print ‘hello’的字节码就是放在这个PyCodeObject中。