python类和对象属性

class A:
    # 类属性,所有实例对象共享的,对象内存空间是私有的,互相隔离的
    # 类实例对象可以调用实例对象方法,类方法,静态方法
    # 类对象可以调用静态方法
    aa = 1
    test_list = []
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def app(self, t):
        self.test_list.append(t)
    
    @classmethod
    def capp(cls, t):
        cls.test_list.append(t)
        
    # 静态方法是用于不同类可以定义相同名称方法
    @staticmethod
    def sapp(t):
        A.test_list.append(t)
        
        
a = A(2, 3)
print(a.x, a.y, A.aa)# 2 3 1

A.aa = 100
print(A.aa, a.aa) # 100 100

# 新建一个a的属性aa, 100赋值给该aa
a.aa = 101
print(A.aa, a.aa) # 100 101

print(id(A.aa), id(a.aa)) # 会发现值不一样,所以a.aa是新建,即使和A.aa同名,不要在对象中创建与类同名属性,会混淆

A.capp(1)
print(A.test_list, a.test_list) # 都为[1]

A.sapp(2)
print(A.test_list, a.test_list) # 都为[1,2]

a.app(3)
print(A.test_list, a.test_list) # 都为[1,2,3]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值