在对结构体对象进行赋值或者取值时可以使用.运算符进行操作。
那么问题来,python中有没有这个数据类型呢?答案是肯定有的,它就是命名元组(namedtuple)。
有了namedtuple就可以从name来索引对应的元组的值,而不用通过下标。
from collections import namedtuple
'''定义一个namedtuple类型User,并包含name,sex和age属性。'''
User = namedtuple('User', ['name', 'sex', 'age'])
'''创建一个User对象'''
user = User(name='kongxx', sex='male', age=21)
'''也可以通过一个list来创建一个User对象,这里注意需要使用"_make"方法'''
user = User._make(['kongxx', 'male', 21])
'''或解包'''
user = User(*['kongxx', 'male', 21])
print user
# User(name='user1', sex='male', age=21)
'''# 获取用户的属性'''
print user.name
print user.sex
print user.age
'''# 修改对象属性,注意要使用"_replace"方法'''
user = user._replace(age=22)
print user
# User(name='user1', sex='male', age=21)
'''# 将User对象转换成字典,注意要使用"_asdict"'''
print user._asdict()
# OrderedDict([('name', 'kongxx'), ('sex', 'male'), ('age', 22)])
版权声明:本文为qq_34229228原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。