美文网首页
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