一、再介绍
namedtuple
之前先说一下class类
namedtuple
-
在实例化一个类的时候,咱们可以用
.
的方式去访问属性
-
而
namedtuple
就是有这么一个功能,可以让咱们想对象一样使用
.
的方式去访问属性,下面的代码和上面的代码一样
-
但是通过
namedtuple
这种方式创建的对象是不能够修改属性的值的,和元组一样 -
下面尝试修改name属性的值,结果抛出
AttributeError
异常
-
也不能动态的去添加属性,否则也会抛出异常
-
所以在用
namedtuple
创建类的时候,应该一开始就声明好有哪些属性 -
在实例化的时候,可以使用数组或列表将其传进去,不过需要注意,参数前面加
*
号
-
也可以将字典传进去,不过参数前面需要加两个
**
号
-
关于
*
和
**
可以查看
python *args,和 *
kwargs的使用,
与 ** 解包使用
-
另外还可以补充参数
-
再创建类的时候,属性有几个,实例化的时候,传入的值也要有几个
-
我们可以调用
_asdict()
方法,将其转为字典
-
可以调用
_replace
方法修改属性的值,然后返回一个新的namedtuple对象,不会对原始数据修改,该方法只能修改已经存在的属性,不能修改不存在的属性,否则抛出异常
二、全局完
版权声明:本文为weixin_44024393原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。