iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >简单讲解Python编程中namedtuple类的用法
  • 773
分享到

简单讲解Python编程中namedtuple类的用法

简单Pythonnamedtuple 2022-06-04 18:06:05 773人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

python的Collections模块提供了不少好用的数据容器类型,其中一个精品当属namedtuple。 namedtuple能够用来创建类似于元祖的数据类型,除了能够用索引来访问数据,能够迭代,更能够

python的Collections模块提供了不少好用的数据容器类型,其中一个精品当属namedtuple。

namedtuple能够用来创建类似于元祖的数据类型,除了能够用索引来访问数据,能够迭代,更能够方便的通过属性名来访问数据。

Python中,传统的tuple类似于数组,只能通过下标来访问各个元素,我们还需要注释每个下标代表什么数据。通过使用namedtuple,每个元素有了自己的名字,类似于C语言中的struct,这样数据的意义就可以一目了然了。当然,声明namedtuple是非常简单方便的。
代码示例如下:


from collections import namedtuple
 
Friend=namedtuple("Friend",['name','age','email'])
 
f1=Friend('xiaowang',33,'xiaowang@163.com')
print(f1)
print(f1.age)
print(f1.email)
f2=Friend(name='xiaozhang',email='xiaozhang@sina.com',age=30)
print(f2)
 
name,age,email=f2
print(name,age,email)

类似于tuple,它的属性也是不可变的:


>>> big_yellow.age += 1
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AttributeError: can't set attribute

能够方便的转换成OrderedDict:


>>> big_yellow._asdict()
OrderedDict([('name', 'big_yellow'), ('age', 3), ('type', 'dog')])

方法返回多个值得时候,其实更好的是返回namedtuple的结果,这样程序的逻辑会更加的清晰和好维护:


>>> from collections import namedtuple
>>> def get_name():
...   name = namedtuple("name", ["first", "middle", "last"])
...   return name("John", "You know nothing", "Snow")
...
>>> name = get_name()
>>> print name.first, name.middle, name.last
John You know nothing Snow

相比tuple,dictionary,namedtuple略微有点综合体的意味:直观、使用方便,墙裂建议大家在合适的时候多用用namedtuple。

--结束END--

本文标题: 简单讲解Python编程中namedtuple类的用法

本文链接: https://www.lsjlt.com/news/14686.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中namedtuple函数的用法解析
    源码解释: def namedtuple(typename, field_names, *, rename=False, defaults=None, module=None): ...
    99+
    2024-04-02
  • Python编程:详解命名元组(namedtuple)的使用要点
    前言本文继续来介绍Python集合模块,这次主要简明扼要的介绍其内的命名元组,即namedtuple的使用。闲话少叙,我们开始——记得点赞、关注和转发哦~ ^_^创建命名元组Python集合中的命名元组类namedTuples为元组中的每个...
    99+
    2023-05-14
    Python 编程 模块
  • Python元类编程实现一个简单的ORM
    目录概述效果步骤结束语完整代码概述 什么是ORM    ORM全称“Object Relational Mapping”,即对象-关系映射,就是把关系数据库的...
    99+
    2023-03-06
    Python元类编程ORM Python ORM
  • Python简明讲解filter函数的用法
    目录一、filter函数的定义二、filter函数实例求一个序列中大于零的元素组成的新序列求序列中非零数组成的新序列求字典中大于2的键组成的新序列求100以内既是3的倍数又是奇数的正...
    99+
    2024-04-02
  • 怎么使用Python元类编程实现一个简单的ORM
    这篇文章主要讲解了“怎么使用Python元类编程实现一个简单的ORM”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python元类编程实现一个简单的ORM”吧!概述什么是ORM   ...
    99+
    2023-07-05
  • 详解Java中ThreadLocal类型及简单用法
    目录1 基本概念2 简单使用3 应用场景4 底层原理4.1 set(Object)4.2 get()4.3 remove()4.4 ThreadLocalMap5 内存泄漏隐患和防止...
    99+
    2024-04-02
  • python简单程序的编写方法是什么
    这篇文章主要介绍“python简单程序的编写方法是什么”,在日常操作中,相信很多人在python简单程序的编写方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python简单程序的编写方法是什么”的疑...
    99+
    2023-06-17
  • require.js使用方法的简单代码讲解笔记
    目录目的:基本API第一步:a.js定义第二步:引入这个模块加载文件页面需要加载多个js文件时,加载时浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长;由于js文件之间...
    99+
    2022-12-17
    require.js
  • Python turtle编写简单的球类小游戏
    目录1. 前言2. 需求描述3. 制作流程3.1 初始化变量3.2 通用函数3.3 游戏角色函数3.4 让小球动起来4. 总结1. 前言 turtle (小海龟) 是&nb...
    99+
    2024-04-02
  • python编程Flask框架简单使用教程
    目录基础知识使用框架的优点Flask常用扩展包基本格式拓展return重定向取网址参数content-typecookie\sessionflask路由request属性上下文注册路...
    99+
    2024-04-02
  • Python [::-1]的简单理解与用法
    从结果上来看,[::-1]的作用是对列表进行翻转,比方说: a = [1, 2, 3, 4, 5]print(a[::-1])b = "12345"print(b[::-1]) 输出: [5, 4, ...
    99+
    2023-09-02
    划水
  • GoLang的sync.WaitGroup与sync.Once简单使用讲解
    目录一、sync.WaitGroup的简单实用Add方法Done方法Wait方法二、sync.WaitGroup类型值中计数器的值可以小于0吗三、sync.Once用法sync.On...
    99+
    2023-01-09
    Go sync.WaitGroup Go sync.Once
  • 揭秘 Tkinter 的魔法:Python GUI 编程的简单指南
    ...
    99+
    2024-04-02
  • C++简单又轻松的讲解类和对象中友元函数
    目录友元浅解概念友元目的友元的三种实现全局函数做友元类做友元成员函数做友元注意事项总结友元 用到关键字 friend 浅解概念 举一个非常实际的例子,假如端午节到了你煮了两种粽子,一...
    99+
    2024-04-02
  • 基于spring中的aop简单实例讲解
    aop,即面向切面编程,面向切面编程的目标就是分离关注点,比如:一个骑士只需要关注守护安全,或者远征,而骑士辉煌一生的事迹由谁来记录和歌颂呢,当然不会是自己了,这个完全可以由诗人去歌颂,比如当骑士出征的时候诗人可以去欢送,当骑士英勇牺牲的时...
    99+
    2023-05-31
    spring aop 实例
  • MySQL中decimal类型用法的简单介绍
    MySQL中支持浮点数的类型有FLOAT、DOUBLE和DECIMAL类型,DECIMAL 类型不同于FLOAT和DOUBLE,DECIMAL 实际是以串存放的。DECIMAL 可能的最大取值范围与DOUB...
    99+
    2024-04-02
  • python 进程池的简单使用方法
    回到python,用一下python的进程池。 记得之前面试的时候,面试官问:你知道进程池的默认参数吗? 我没有回答上来,后来才知道,是有默认参数的。下面就看看它的默认参数 1. 不加参数 from multiprocessing.po...
    99+
    2023-01-30
    使用方法 进程 简单
  • Python编程中内置的NotImplemented类型的用法
    目录一、NotImplemented它是什么?二、它有什么用?什么时候用?一、NotImplemented它是什么? >>> type(NotImplemented...
    99+
    2024-04-02
  • 简单讲解Lua中的垃圾回收机制
    Lua中的垃圾回收机制是自动的,使用了一种叫做"标记-清除"的算法。在Lua中,当一个对象不再被引用时,它就成为了垃圾。垃圾回收器的...
    99+
    2023-08-14
    Lua
  • python中turtle库的简单使用教程
    Turtle库是Python中的一个绘图库,它可以在画布上绘制各种形状和图案。下面是一个简单的使用教程:1. 导入turtle库:在...
    99+
    2023-08-17
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作