Python中class类中数组的定义与用法

Python中class类中数组的定义与用法

在python的class中,数组的定义需要特别注意。具体如下所示:

class aaa:
    ddd = 2
    test = []

    def __init__(self, tmp=0):
        self.ccc = tmp
        self.bbb = []
        self.test.append(tmp)


def add_num(tmp):
    tmp.bbb.append(5)


a = aaa(5)
b = a.bbb
b.append(1)
a.ddd = 10
add_num(a)
c = aaa(11)
c.ddd = 5
d = aaa(1)
d.bbb.append(12)
print(a.test, c.test, d.test)
print(a.bbb, c.bbb, d.bbb)

其输出结果为:

[5, 11, 1] [5, 11, 1] [5, 11, 1]
[1, 5] [] [12]

即非在__init__函数中再创建的数组将成为class类的公共数组,init函数定义后的数组才为实例的私有数组。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值