先说一下写这篇文章的初衷吧,刚刚毕业找工作发现很多公司重视是否有博客,但是之前个人学习一直用的是有道云笔记和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))
网友评论