5

例如,在以下代码中:

class test:
    print "Hi"

Python 会自动打印“hi”。抱歉,如果这是一个明显的问题,但除非启动“测试”对象,否则我不知道为什么 Python 会这样做。* 我几个月前才开始进行一般的编程,Python 是我的第一语言,所以请多多包涵。

4

1 回答 1

7

你正在建立一个班级;类的主体作为构建定义的函数执行。该“函数”的本地命名空间形成了构成该类的一组属性。请参阅class声明文档。

类体中的方法不执行;像函数定义一样,您需要先调用它们。但是如果你不先调用类体,你根本不知道这个类有什么方法。

同样,当您导入模块时,模块中的任何顶级代码都会执行,以形成模块命名空间。如果你放入print "Hi"一个模块,它也会立即执行。

于 2013-06-02T18:12:30.413 回答