为什么什至没有创建对象时都执行类中的print语句?

时间:2018-11-22 17:50:55

标签: python python-3.x class

当我运行下面的代码时,输​​出为“ hello”。

但是,print语句是类pl的一部分,而我从未创建过pl类的实例,所以为什么执行print语句?

class pl:
    def __init__(self,a,b):
        self.aa=a
        self.bb=b
    print("hello")

1 个答案:

答案 0 :(得分:7)

类主体(甚至嵌套的类主体)在导入时执行(与函数或方法相对)。

演示脚本:

class Upper:
    print('Upper')
    class Mid:
        print('Mid')
    def method(self):
        class Low:
            print('Low')
        print('method')

输出:

$ python3
>>> import demo
Upper
Mid