python——namedtuple
namedtuple()概念理解分享
我们都知道元组tuple的概念,tuple是一个定义之后就不能够更改的可迭代对象,namedtuple作为tuple的兄弟具有同样的属性,一旦定义就不可以更改。但是namedtuple相对于tuple具有更灵活的使用方法。所以namedtuple功能更强大。
首先举个例子看看这个函数怎么使用的
from collections import namedtuple # 导入模块
Student = namedtuple('duanming','age','class')
# 括号内的duanming是等下要输出在括号外的
# Student是一个类,等下定义的时候要使用
a = Student(23,'5班')
print(a)
#output: duanming(age = 23,class = 5班)
#上面定义括号中的duanming跑到括号外了,当了标识符
# 我们在把a的参数‘age'和'class'传给Student的时候不能少传或者多传,不然会报错
按照上面给的例子,可以创建一个自己属性的namedtuple来当作练习
我们知道在tuple中如果要访问哪个值只能通过索引或者遍历来访问,在namedtuple中不仅仅可以通过遍历和索引来访问,还能够通过域来访问,例如下面:
from collections import namedtuple # 导入模块
Student = namedtuple('duanming','age','class')
# 括号内的duanming是等下要输出在括号外的
# Student是一个类,等下定义的时候要使用
a = Student(23,'5班')
print(a)
#output: duanming(age = 23,class = 5班)
#为了得到年龄,我们可以这样进行操作:
age = duanming.age
print(age)
#output:23
这里可以总结一下,namedtuple实际上也是生成了一个元组,上面这个元组的名字是duanming,它有两个域,一个是’age’,另一个是’class’,我们定义的方式不是像tuple那样直接给出来了,我们是先构造出这个通用元组的名称和域名,然后再对其域进行赋值,所以这个通用元组可以一直被重复使用,定义大量格式相同而内容不同的元组,所以namedtuple相对于tuple来说,如果掌握好了,功能更加强大。
python——namedtuple的更多相关文章
- Python namedtuple(命名元组)使用实例
Python namedtuple(命名元组)使用实例 #!/usr/bin/python3 import collections MyTupleClass = collections.namedtu ...
- Python namedtuple
我们都知道Python中的tuple是一个非常高效的集合对象,但是我们只能通过索引的方式访问这个集合中的元素,比如下面的代码: Bob=('bob',30,'male') print'Represen ...
- python namedtuple命名元组
from collections import namedtuple Animal=namedtuple('Animal','name age type') perry=Animal(name='pe ...
- python -- namedtuple元组
- Python 学习 第十四篇:命名元组
Python的元组不能为元组内部的数据进行命名,而 collections.namedtuple 可以来构造一个含有字段名称的元组类,命名元组可以通过逗号+字段名来获取元素值: collections ...
- python常用模块collections os random sys
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码 ...
- python 知识点补充
python 知识点补充 简明 python 教程 r 或 R 来指定一个 原始(Raw) 字符串 Python 是强(Strongly)面向对象的,因为所有的一切都是对象, 包括数字.字符串与 函数 ...
- Python元类实践--自己定义一个和collections中一样的namedtuple
大家可能很熟悉在collections模块中有一个很好用的扩展数据类型-namedtuple. 如果你还不知道这个类型,那么请翻看标准手册. 我利用元类轻松定义一个namedtuple. 先把代码贴上 ...
- python中namedtuple介绍
namedtuple:namedtuple类位于collections模块,有了namedtuple后通过属性访问数据能够让我们的代码更加的直观更好维护.namedtuple能够用来创建类似于元祖的数 ...
随机推荐
- C#学习--Oracle数据库基本操作(连接、增、删、改、查)封装
写在前面: SQLserver的C#封装:https://www.cnblogs.com/mexihq/p/11636785.html 类似于上篇有关SQLserver的C#封装,小编对Oracle数 ...
- 帝国cms网站管理系统之安全设置最优化分享
首先我们来认识一下帝国CMS安全认证特性:帝国登录四重安全验证:第一重:密码双重MD5加密,密码不可破解,假如数据库被下载,也无法获取真实密码.第二重:后台目录自定义,假如对方知道密码也找不到登录后台 ...
- web安全之XSS基础-常见编码科普
0x01常用编码 html实体编码(10进制与16进制): 如把尖括号编码[ < ] -----> html十进制: < html十六进制:< javascript的八进制 ...
- dll劫持破坏360
0x01 前言 说起DLL劫持技术,相信大家都不会陌生,因为这种技术的应用比较广泛,比如木马后门的启动.破解程序的内存补丁.外挂插件的注入以及加密狗的模拟等.之所以DLL劫持技术深受黑客们的喜爱,主要 ...
- Cocos2d-x 学习笔记(14.1) Event EventCustom EventListener
1. Event EventCustom 所有事件类继承了Event. Event中的枚举,定义了事件的类型: enum class Type { TOUCH, //触摸 KEYBOARD, //键盘 ...
- 浑身尖刺的服务可用性守护者——hystrix熔断器实践记录
netflix公司的产品hystrix(长满刺的豪猪),在高可用目标下具有一定熔断.限流.降级的作用.这里主要写一些自己在使用时的问题解决思路,原理请自行理解,包括线程池与信号量模式等. 注意三个参数 ...
- 面试官,不要再问我“Java 垃圾收集器”了
如果Java虚拟机中标记清除算法.标记整理算法.复制算法.分代算法这些属于GC收集算法中的方法论,那么"GC收集器"则是这些方法论的具体实现. 在面试过程中这个深度的问题涉及的比较 ...
- Mysql高手系列 - 第26篇:聊聊如何使用mysql实现分布式锁
Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 欢迎大家加我微信itsoku一起交流java.算法.数据库相关技术. 这是Mysql系列第26篇. 本篇我们使用my ...
- Centos中查找文件、目录、内容
1.查找文件 find / -name 'filename' 2.查找文件夹(目录) find / -name 'path' -type d 3.查找内容 find . | xargs grep -r ...
- 简易数据分析 13 | Web Scraper 抓取二级页面
这是简易数据分析系列的第 13 篇文章. 不知不觉,web scraper 系列教程我已经写了 10 篇了,这 10 篇内容,基本上覆盖了 Web Scraper 大部分功能.今天的内容算这个系列的最 ...