类属性(实例属性)
类对象
类属性(共享的)
类方法
实例对象
实例属性(独有的)
实例方法(指向类对象的引用)是个内存地址
# 类对象
class Tools:
"""
工具类
"""
# 定义类属性
num = 0
def __init__(self,name):
# 实例属性
self.name = name
# 对类属性操作
Tools.num += 1
# 实例化一个对象
t1 = Tools("棒槌")
t2 = Tools("锤子")
t3 = Tools("老虎钳")
# 通过实例对象获取实例属性
print(t1.name)
print(t2.name)
print(t3.name)
# 通过实例对象获取类属性
print(t1.num)
print(t2.num)
print(t3.num)
"""
输出结果:
棒槌
锤子
老虎钳
3
"""
类方法和静态方法
# 类对象
class Tools:
"""
工具类
"""
# 定义类属性
num = 0
def __init__(self,name):
# self 谁调用就指向谁
# 实例属性
self.name = name
# 对类属性操作
Tools.num += 1
# 定义了一个类方法,装饰器
@classmethod
def add_num(cls):
# cls 指向内存中的类对象
cls.num = 10
# 查询类对象的id
print(id(Tools))
# 实例化对象
t1 = Tools("棒槌")
# 通过实例化对象调用类方法
t1.add_num()
# 通过类对象调用类方法
Tools.add_num()
# 类属性可以通过类名.XXX或者实例属性来引用