1. #类属性 实例属性 类方法 实例方法
    2. class A:
    3. #类属性 直接在类中定义就是类属性
    4. #类属性不仅可以通过类对象来访问,也可以通过实例对象访问,不能通过实例对象修改,但是可以通过类对象修改
    5. number=99
    6. def __int__(self):
    7. #name 是实例属性通过self.xxx的属性都是实例属性
    8. #self就是对象本身
    9. #类对象不能访问实例属性 实例对象能够访问和修改实例属性
    10. self.name='python'
    11. #实例方法
    12. #是在类中定义 第一个参数要是self
    13. def test(self):
    14. print('实例方法')
    15. #类方法 使用@classmethod修饰的是类方法 第一个参数是cls
    16. #类方法可以通过类对象调用 也可以通过实例对象调用
    17. @classmethod
    18. def test2(cls):
    19. print('类方法')
    20. #通过类对象可以直接访问类属性
    21. # print(A.number)#类对象
    22. #a是一个实例方法
    23. a=A()
    24. #通过实例对象添加的属性就是实例属性,在调用实例方法时,先匹配实例对象属性,再去类属性里面找
    25. # a.number=1314
    26. # print(a.number)
    27. # print(A.number)
    28. # print('a',a.name)
    29. # print('A',A.name)
    30. # a.test()
    31. # A.test(a) #等价于a.test() 类对象 需要手动传递
    32. # A.test2()
    33. a.test2()