例如,在以下代码中:
class test:
print "Hi"
Python会自动打印'hi'。很抱歉,如果这是一个显而易见的问题,但我无法找到为什么Python会这样做,除非启动“测试”对象。 *几个月前我刚刚开始编程,Python是我的第一语言,所以请不要怜悯我。
答案 0 :(得分:7)
你正在建立一个班级;类的主体作为构建定义的函数执行。该“函数”的本地名称空间构成了构成该类的属性集。请参阅class
statement文档。
在类体中没有执行;像函数定义一样,你需要先调用它们。但是如果你没有先调用类体,你根本不知道该类有什么方法。
同样,导入模块时,会执行模块中的任何顶级代码,以形成模块命名空间。如果将print "Hi"
放在模块中,它也会立即执行。