美文网首页
python 中的 collections.nametuple

python 中的 collections.nametuple

作者: a嘿嘿_ccee | 来源:发表于2020-05-27 18:24 被阅读0次

先说一下写这篇文章的初衷吧,刚刚毕业找工作发现很多公司重视是否有博客,但是之前个人学习一直用的是有道云笔记和wps文档。个人觉得还是挺好用的编辑器的功能比这种网页平台要优秀,并且文件管理起来相对也要方便。但是还是被现实打败了哈哈。以后学习记录就放到简书吧。

我是在看"流畅Python"这本书的第一章才知道python的nametuple,书中1.1粗略的说了一下“nametuple用来构建没有方法,只有少数属性的对象”太菜的我没有读懂。果断百度了一下,然后有了这样的答案:"namedtuple()是产生具有命名字段的元组的工厂函数。命名元组赋予元组中每个位置的意义,并更易读、代码更易维护。它们可以使用在通常元组使用的地方,并添加了通过名称访问字段的能力,而不是位置索引。”还是有点蒙呢?

  那就简单的看一下源码:
image.png

二百来行有点多(主要看起来有点费脑子对于我这个菜鸡),所以直接看一下返回值吧,发现 最后return 的是result 恰巧上面又看到了给 result赋值的语句:


    #Friend =namedtuple("Friend",['name','age','email'])

    #namedtuple的第一个参数“Friend”就会传递给type的第一个参数

所以也就是我们通过nametuple类创建了一个自定义类,父类是type的第二个参数也就是tuple。但是第三个参数我暂时值是看懂如何进行参数校验拆分,具体是如何做的咱也没看懂,反正通过我们自己创建的类创建一个对象是可以直接获取的属性的。


fd = Friend(name='缪国梁', age='12', email='16418060@qq.com')

print(type(fd.name))

相关文章

网友评论

      本文标题:python 中的 collections.nametuple

      本文链接:https://www.haomeiwen.com/subject/nsrgahtx.html