python 类属性的简单性质和使用

python中的类属性是定义在class内部的,在def外面。
类属性有两种,一种是int、string等不可改变的数据类型,另外一种就是list、dict等可以改变的类型
下面介绍一个实例,区分两种类型的不同。

类属性记录实例的个数
class MyClass:
    counter = 0  # 类属性,不可改变类型
    tricks=[]    #类属性,可以改变类型
    def __init__(self,realpart,imagpart):
        self.r=realpart
        self.i=imagpart     #r和i是实例属性
        MyClass.counter+=1  #对类变形进行引用和操作,每生成一个实例,则增加1
        self.tricks.append('n')#不可变类型的操作方式

    def show(self):
        return self.r,self.i

    def add_trick(self,trick):
        # self.tricks.append(trick)
        pass

if __name__=='__main__':
    test=MyClass(2,3)
    test1=MyClass(3,2)
    test.add_trick('hello')
    test1.add_trick('snow')
    print(test.counter)
    print(test.tricks)
2
['n', 'n']

可以看出,如果类属性是不可改变的类型,那么一定要通过如下方式进行引用:

MyClass.counter+=1#类名.属性

如果是可以改变的类型,那么用下面方式:

 self.tricks.append('n')#self.类属性.方法
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值