当使用namedtuples时,对象似乎有一个默认的“值”,允许使用< >
运算符比较两个命名元组。有人能解释这个值从哪里来吗?为什么这段代码返回True
?有没有一种聪明的方法可以让>
运算符在不使用Person.age
的情况下比较年龄?在
>>>from collections import namedtuple
>>>Person = namedtuple('Person', ['age', 'name'])
>>>bob = Person('20', 'bob')
>>>jim = Person('20', 'jim')
>>>bob < jim
True
它似乎在使用字符串比较,只是将值串联起来:
你可以这样做:
然而,一个
Person
在年龄上小于或大于真的有意义吗?为什么不显式地检查Person.age
?在相关问题 更多 >
编程相关推荐