python – 命名元组的名称和引用可以不同吗?
在阅读fmark对问题 What are “named tuples” in Python?的回答时,我看到那里给出的示例具有相同的名称和引用,即Point在以下语句中出现两次: Point = namedtuple(‘Point’,’x y’) 所以我去了原始参考: 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的“疣”之一,或者是设计妥协,取决于你对它的看法. (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |