python命名元组namedtuple_Python命名元组--命名元组,Pythonnamedtuple,具名
本文主要介绍
namedtuple
类型对象的创建以及对应属性的访问。
namedtuple位于Python内置模块collections,属于tuple子类,类似于C/C++中的struct结构体,namedtuple中每个元素具有一个名称。
namedtuple类型声明
collections.namedtuple(typename, field_names, verbose=False, rename=False)
参数意义:
typename: 字符串,元组名称
field_names:由元组中元素的名称,可选类型为:字符串列表或空格分隔开字符串或逗号分隔开字符串
verbose: 默认就好
rename: 如果元素名称中含有python的关键字,则必须设置为rename=True
后两个参数采取默认值就好。
1. 调用流程
【1】声明一个namedtuple,此时只是相当于声明出了一种类型,并未具体创建实例
from collections import namedtuple
Student_Class = namedtuple("Student", ["name", "sex", "age"])
【2】实例化,此时真正创建出实例化对象
student = Student_Class("alpha", "male", 15)
print(student)
输出结果:Student(name='alpha', sex='male', age=15)
# 访问元素
student.name ==> "alpha"
student.sex ==> "male"
student.age ==> 15
【
注
】
在创建实例化对象时使用变量名,即Student_Class,而类型名称为Student,因此可以将变量名和类型名统一,后续使用无需区分。
type(student) ==> __main__.Student
Student_Class.__mro__ ==> (__main__.Student, tuple, object)
2. 参数field_names不同类型时具名元组的声明
# 第一种:field_names为空格分隔开字符串
Student_Class = namedtuple("Student", "name sex age")
# 第二种:field_names为逗号分隔开字符串
Student_Class = namedtuple("Student", "name, sex, age")
# 第三章:field_names为字符串列表
Student_Class = namedtuple("Student", ["name", "sex", "age"])
3. 具名元组常用属性
主要包括:
_fields: 返回一个元组,包含所有字段的名称
_make(iterable): 传入可迭代对象创建具名元组实例化对象
_replace(**kwds):修改具名元组中某一个元素值
_asdict(): 将具名元组对象转换成OrderedDict
【
以具体实例说明
】
(1)创建具名元组对象
In [1]: from collections import namedtuple
In [2]: Student_Class = namedtuple("Student", ["name", "sex", "age"])
In [3]: student = Student_Class(name="alpha", sex="male", age=20)
(2)_fields属性: 返回一个元组,包含所有的字段名称
In [4]: type(student._fields)
Out[4]: tuple
In [5]: student._fields
Out[5]: ('name', 'sex', 'age')
(3)_make(iterable): 传入可迭代对象创建具名元组实例化对象
In [6]: student = Student_Class._make(["beta", "female", 21])
In [7]: student
Out[7]: Student(name='beta', sex='female', age=21)
(4)_replace(**kwds):修改具名元组中某一个元素值
In [8]: student = student._replace(age=50)
In [9]: student
Out[9]: Student(name='beta', sex='female', age=50)
(5)_asdict():将具名元组对象转换成OrderedDict
In [10]: student.as_dict()
Out[10]: OrderedDict([('name', 'beta'), ('sex', 'female'), ('age', 50)])
python命名元组namedtuple_Python命名元组--命名元组,Pythonnamedtuple,具名相关推荐
- 为元组的每个元素命名
1 为元组的每个项目命名,提高程序的可读性 2 #定义一系列数据变量 3 4 #分别赋值为0,1,2,3 5 NAME,SEX,AGE,SCHOOL = range(4) 6 7 student = ...
- python基础:序列(列表、元组、字符串)、函数、字典、集合
Python语言运行环境: windows linux unix Macos等等 博客记录内容: Python3的所有语法.面向对象思维.运用模块进行编程.游戏编程.计算机仿真. Python是什么类 ...
- 一句python,一句R︱列表、元组、字典、数据类型、自定义模块导入(格式、去重)
先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. pandas中有类似R中的read.table的功能,而 ...
- python字典(dict)+常用方法操作+列表、元组、集合、字典的互相转换
python字典(dict)+常用方法操作+列表.元组.集合.字典的互相转换 字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 为了保存具有映射关系的数据,Python ...
- python截取逗号_Python基础知识: 元组
Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 = ('physi ...
- 【Python】Python入门:4000字能把元组tuple讲透吗?
公众号:尤而小屋 作者:Peter 编辑:Peter 在前面介绍的python数据类型:列表list,我们发现list是可以进行修改的.但是有时候,我们需要创建一系列不可修改的元素,此时Python中 ...
- Python中高级变量类型(列表,元组,字典,字符串,公共方法...)
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...
- python元组类型_Python数据类型之元组
导语:元组介绍访问元组修改元组删除元组元组运算符元组内置函数 元组介绍 与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组的创建,只需要在括号中添加元素,并使用逗号隔 ...
- python中如何调用或修改元组中的元素_python 元组的使用方法
元组--tuple 列表非常适合用于存储在程序运行期间可能变化的数据集. 列表是可以修改的,但元组是不可修改的 Python将不能修改的值称为不可变的,而不可变的列表被称为元组 1. 元组的创建和删除 ...
- python实现批量图片/文件重命名
python实现批量图片/文件重命名 import osclass BatchRename():'''批量重命名文件夹中的图片文件'''def __init__(self):self.path = ' ...
最新文章
- Bellman-Ford 单源最短路径算法
- version.dll劫持注入模版
- 玩cf出现outofmemory_完美解决outofmemory|Win7系统CF出现out of memory的解决方法
- 让你的PHP4和PHP5共存
- Drools:基于PHREAK堆栈的评估和向后链接
- python netsnmp_python net-snmp使用
- 改造一下jeecg中的部门树
- FPGA中计数器设计探索
- 电芯容量在前期循环中容量增加_锂离子电池容量“跳水”背后元凶找到了!——非均匀压力...
- 刚走上管理岗位的人要怎么做?
- Mac小技巧:在mac上怎么把png转换成jpg
- Android 表单之 TextView(文本框)详解
- 计算机会计学ufo报表,计算机会计学 第四章 报表子系统.pdf
- 常见问题数组索引越界异常
- 【现代卫星导航系统】之北斗卫星导航系统
- 【数据分享】全国县市2000-2020年医疗卫生机构床位数数据(excel和shp格式)
- 英特尔服务器级cpu型号含义,intel服务器cpu命名规则
- postgresql fdw mysql_PostgreSQL使用MySQL外表(mysql_fdw)
- 原创视频 | 我可以自学编程吗?解答新手学编程的疑惑!
- 合同计算问题的计算公式与计算方法
热门文章
- SQL 必知必会·笔记6使用数据处理函数
- 使用lkjson处理Json数据
- mysql单表查询怎么做_mysql单表查询
- ScheduledThreadPoolExecutor之scheduleWithFixedDelay和scheduleAtFixedRate的区别
- 一个计算机自动作图程序
- 前端安全系列之二:如何防止CSRF攻击?
- 21次课(安装软件包的三种方法、rpm包介绍、rpm工具用法、yum工具用法、 yum搭建本地仓库)...
- cisco 以太通道(端口聚合)配置样例
- SQLServer------基本操作
- liunx下安装tomcat7.0.82