python 的class和def 定义执行语句相关

  1. def 函数定义不会执行里面的语句
  2. class 类的定义会执行里面的语句
def test_func():
    print("test_func")          # 不会执行


class setter(object):

    def __init__(self, method):
        self.method = method
        print('setter: __init__:' ,method)


class Keyword(object):
    class_ = 'test class'       # 会执行
    print(class_)               # 会执行

    @setter                     # 会执行 (重点注意)
    def parent(self, parent):   # 不会执行
        print('test func')



''' 以下不实例化也会打印
test classs
setter: __init__: <function Keyword.parent at 0x0000025FF306A678>
'''

原文地址:https://www.cnblogs.com/amize/p/14620680.html