您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 命名元组的名称和引用可以不同吗?

5b51 2022/1/14 8:23:24 python 字数 2529 阅读 570 来源 www.jb51.cc/python

在阅读fmark对问题 What are “named tuples” in Python?的回答时,我看到那里给出的示例具有相同的名称和引用,即Point在以下语句中出现两次: Point = namedtuple(‘Point’,’x y’) 所以我去了原始参考: https://docs.python.org/2/library/collections.html#collections.na

概述

Point = namedtuple(‘Point’,’x y’)

所以我去了原始参考:
https://docs.python.org/2/library/collections.html#collections.namedtuple
在这里我还发现了另外两个例子:

EmployeeRecord = namedtuple('EmployeeRecord','name,age,title,department,paygrade')
Color = namedtuple('Color','red green blue')

理想情况下,Python中不会重复单词.例如,整行(对于Point示例)可以替换为以下内容

namedtuple('Point','x y')

要么

Point = namedtuple('x y')

当然,这是假设命名元组必须具有相同的名称和引用.所以我的问题是:什么时候它是可取的(如果允许的话),一个命名的元组应该有不同的名称和引用?我还没有看到一个例子.

In [1]: import collections

In [2]: Point = collections.namedtuple('Rectangle','x y')

In [3]: Point(1,2)
Out[3]: Rectangle(x=1,y=2)

这很令人困惑,除非你有充分的理由,否则不要这样做.

发生这种情况的原因是因为namedtuple()只是一个函数,它没有关于它如何被用作声明的特殊知识.在具有宏的语言中,namedtuple()将是一个扩展为声明的宏.因此,您不必指定宏系统或遍历名称调用堆栈,而是必须指定名称两次.

所以它是Python的“疣”之一,或者是设计妥协,取决于你对它的看法.

总结

以上是编程之家为你收集整理的python – 命名元组的名称和引用可以不同吗?全部内容,希望文章能够帮你解决python – 命名元组的名称和引用可以不同吗?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶