例如,在下面的代码中:
class test:
print "Hi"
Python 会自动打印'hi'。抱歉,如果这是一个明显的问题,但我无法找出为什么 Python 会这样做,除非启动了“测试”对象。 * 我几个月前才开始一般编程,Python 是我的第一语言,所以请宽恕我。
最佳答案
你正在构建一个类;类的主体作为构建定义的函数执行。该“函数”的本地 namespace 构成了构成该类的一组属性。查看class
statement文档。
类主体中的方法不会被执行;像函数定义一样,你需要先调用它们。但是如果你不先调用类体,你根本不知道这个类有哪些方法。
以同样的方式,当您导入一个模块时,模块中的任何顶级代码都会被执行,以形成模块命名空间。如果将 print "Hi"
放在模块中,它也会立即执行。
关于python - 为什么类在未启动时会得到 "called"? - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16885737/