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