【发布时间】:2016-05-15 03:09:04
【问题描述】:
class Book:
title = ''
pages = 0
def __init__(self, title='', pages=0):
self.title = title
self.pages = pages
def __str__(self):
return self.title
def __gt__(self, other):
return self.pages > other
def __ge__(self, other):
return self.pages >= other
据此:http://blog.teamtreehouse.com/operator-overloading-python#comment-220271
我们必须明确地说:
return self.pages >= other.pages
适用于 >= 或 。 有人可以解释为什么吗?
【问题讨论】:
-
如果您在标题为“比较文学”的部分,提供了重载
==、!=、<和>的代码。该代码明确使用您声明的形式,所以我不确定您指的是什么。 -
是的,我在那个部分。大于/等于和小于/等于要求我输入“other.pages”,而大于和小于只需要“其他”。我想知道这是为什么。
-
我用一个简单的例子试过这个。 A书100页,B书200页。这与“other.pages”没有明确的比较。 (A>B) 为假。 (A>=B)、(A
标签: python python-2.7 operator-overloading