summaryrefslogtreecommitdiff
path: root/docs/topics/python3.txt
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2012-11-03 21:43:11 +0100
committerAymeric Augustin <aymeric.augustin@m4x.org>2012-11-03 22:08:05 +0100
commitd7688a010a34033a5cc8eecf7b1460169c0e056e (patch)
treeec6e0ffea3410d0c7b743d77d123f5eba1db8a0e /docs/topics/python3.txt
parentbe6522561f01aa2a0b503fb35f35c9fd34c5110f (diff)
[1.5.x] Fixed #18963 -- Used a subclass-friendly pattern
for Python 2 object model compatibility methods. Backport of fc10418 from master.
Diffstat (limited to 'docs/topics/python3.txt')
-rw-r--r--docs/topics/python3.txt13
1 files changed, 7 insertions, 6 deletions
diff --git a/docs/topics/python3.txt b/docs/topics/python3.txt
index f5749faaf2..e6dc165399 100644
--- a/docs/topics/python3.txt
+++ b/docs/topics/python3.txt
@@ -278,15 +278,13 @@ Iterators
::
- class MyIterator(object):
+ class MyIterator(six.Iterator):
def __iter__(self):
return self # implement some logic here
def __next__(self):
raise StopIteration # implement some logic here
- next = __next__ # Python 2 compatibility
-
Boolean evaluation
~~~~~~~~~~~~~~~~~~
@@ -297,7 +295,8 @@ Boolean evaluation
def __bool__(self):
return True # implement some logic here
- __nonzero__ = __bool__ # Python 2 compatibility
+ def __nonzero__(self): # Python 2 compatibility
+ return type(self).__bool__(self)
Division
~~~~~~~~
@@ -309,12 +308,14 @@ Division
def __truediv__(self, other):
return self / other # implement some logic here
- __div__ = __truediv__ # Python 2 compatibility
+ def __div__(self, other): # Python 2 compatibility
+ return type(self).__truediv__(self, other)
def __itruediv__(self, other):
return self // other # implement some logic here
- __idiv__ = __itruediv__ # Python 2 compatibility
+ def __idiv__(self, other): # Python 2 compatibility
+ return type(self).__itruediv__(self, other)
.. module: django.utils.six