类属性(实例属性)

类属性(实例属性)

类对象    
	类属性(共享的)    
	类方法
实例对象    
	实例属性(独有的)    
	实例方法(指向类对象的引用)是个内存地址
# 类对象
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或者实例属性来引用


posted @ 2022-04-14 17:06  猪腩飞了天  阅读(53)  评论(0)    收藏  举报