#nametuple模块即是tuple的深入,继承自tuple类
- 可迭代
- 通过索引访问数据
- 可迭代
(1) tuple的拆包
user_tuple = ("Body_1",20,100)
name,age,score = user_tuple #拆包操作
print(name,age,score)
打印结果:boddy 29 175
(2)拆包位置对应的属性转化为可变的
name,*other = user_tuple #name -> "body_1",other ->[20,100]
print(name,other)
#打印结果:boddy [29, 175]
user_dict ={}
user_dict[user_tuple] ="10"
print(user_dict)
#打印结果: {('boddy', 19, 175): '10'}
namedtuple形式
(1) 通过元素属性访问元素
from collections import namedtuple
User = namedtuple("User",("name","age","height"))
user =User("boddy",19,175)
print(user.name,user.age,user.height)
#打印结果:boddy,19,175
(2)通过可变参数或者关键字参数访问元素
#通过可变参数*args访问元素
User = namedtuple("User",("name","age","height"))
user_tuple =("boddy",20,180)
user = User(*user_tuple)
#通过关键字参数**kwargs访问元素
user_dict={
"name" : "boddy",
"age" : 22,
"height" :175
}
user =User(**user_dict)
#使用_make方法访问元素,传入的为元祖
user=User._make(user_tuple)