标签:make 相同 sdi move 就是 hash 空间 不可变对象 value
Collection学习之tuple及namedetuple,总结输出:
一、tuple
1.1特点
1.2比list的优势
理解类比:tuple类比C语言中的struct,list类比C语言中的array。
1.3扩充知识:可哈希,魔法函数,python变量实质
2. python变量实质:
3. 魔法函数
二、namedtuple
是tuple的增强,可用来定义tuple类对象,其中含有很多方法,其中最常用和重要的是_make和_asdict方法。
namedtuple好处:可以节省空间,使用tuple的用法,可以对类对象进行拆包,在数据处理过程中,namedtuple会使用的特别多。
使用举例:
用法1:
类名=namedtuple(类名,属性) #用法说明
1.User=namedtuple(“User”,["name",“age”,“height”,“edu”])
2.user=User(name=“zhangsan”,age=30,height=180,edu=“bachelor”)
print(user.name,user.height,user.age)
另外,初始化,可以用tuple进行初始化:
3.user_tuple=("zhangsan",30,180)
4.user=User(*user_tuple,“bacherlor”)//*user_tuple即*args,**kwargs函数参数形式,其中*args为tuple格式,**kwargs为dict格式。
print(user.name,user.height,user.age)
用法2:#使用_make方法
即在初始化时,使用_make方法:
5.user_tuple=("zhangsan",30,180,"bachelor")
6.user=User._make(user_tuple)#注意:make的参数必须是iterable对象,即除了tuple,也可以是list和dict;但使用_make方法参数个数一定要一致!!!
print(user.age,user.name,user.edu)
用法3:#使用_asdict方法
方法作用:可以将tuple对象转换成dict,其中dict的参数顺序是按参数名的字母从小到大排序。
在第6句基础上,
user_info_dict=user._asdict()
用法4:进行拆包
在第6句基础上,
name,age,*other=user
print(name,age,*other)#结果:zhangsan,30,[180,"bachelor"]
Python之Collection模块-tuple及namedtuple
标签:make 相同 sdi move 就是 hash 空间 不可变对象 value
原文地址:https://www.cnblogs.com/dLarger/p/12552128.html