mirror of
https://github.com/kennethreitz/dive-into-python3.git
synced 2026-06-05 23:10:17 +00:00
IE fixes
This commit is contained in:
@@ -246,7 +246,7 @@ td pre{padding:0;border:0}
|
||||
<td><code class=pp>import <dfn>cookielib</dfn></code>
|
||||
<td><code class=pp>import http.cookiejar</code>
|
||||
<tr><th>④
|
||||
<td><pre><code class=pp>import <dfn>BaseHTTPServer</dfn>
|
||||
<td><pre class=pp><code>import <dfn>BaseHTTPServer</dfn>
|
||||
import <dfn>SimpleHTTPServer</dfn>
|
||||
import <dfn>CGIHttpServer</dfn></code></pre>
|
||||
<td><code class=pp>import http.server</code>
|
||||
@@ -280,14 +280,14 @@ import <dfn>CGIHttpServer</dfn></code></pre>
|
||||
<td><code class=pp>import <dfn>robotparser</dfn></code>
|
||||
<td><code class=pp>import urllib.robotparser</code>
|
||||
<tr><th>⑤
|
||||
<td><pre><code class=pp>from urllib import <dfn>FancyURLopener</dfn>
|
||||
<td><pre class=pp><code>from urllib import <dfn>FancyURLopener</dfn>
|
||||
from urllib import urlencode</code></pre>
|
||||
<td><pre><code class=pp>from urllib.request import FancyURLopener
|
||||
<td><pre class=pp><code>from urllib.request import FancyURLopener
|
||||
from urllib.parse import urlencode</code></pre>
|
||||
<tr><th>⑥
|
||||
<td><pre><code class=pp>from urllib2 import <dfn>Request</dfn>
|
||||
<td><pre class=pp><code>from urllib2 import <dfn>Request</dfn>
|
||||
from urllib2 import <dfn>HTTPError</dfn></code></pre>
|
||||
<td><pre><code class=pp>from urllib.request import Request
|
||||
<td><pre class=pp><code>from urllib.request import Request
|
||||
from urllib.error import HTTPError</code></pre>
|
||||
</table>
|
||||
|
||||
@@ -307,9 +307,9 @@ from urllib.error import HTTPError</code></pre>
|
||||
<th>Python 2
|
||||
<th>Python 3
|
||||
<tr><th>
|
||||
<td><pre><code class=pp>import urllib
|
||||
<td><pre class=pp><code>import urllib
|
||||
print urllib.urlopen('http://diveintopython3.org/').read()</code></pre>
|
||||
<td><pre><code class=pp>import urllib.request, urllib.parse, urllib.error
|
||||
<td><pre class=pp><code>import urllib.request, urllib.parse, urllib.error
|
||||
print(urllib.request.urlopen('http://diveintopython3.org/').read())</code></pre>
|
||||
</table>
|
||||
|
||||
@@ -334,7 +334,7 @@ print(urllib.request.urlopen('http://diveintopython3.org/').read())</code></pre>
|
||||
<td><code class=pp>import <dfn>dumbdbm</dfn></code>
|
||||
<td><code class=pp>import dbm.dumb</code>
|
||||
<tr><th>
|
||||
<td><pre><code class=pp>import <dfn>anydbm</dfn>
|
||||
<td><pre class=pp><code>import <dfn>anydbm</dfn>
|
||||
import whichdb</code></pre>
|
||||
<td><code class=pp>import dbm</code>
|
||||
</table>
|
||||
@@ -351,7 +351,7 @@ import whichdb</code></pre>
|
||||
<td><code class=pp>import <dfn>xmlrpclib</dfn></code>
|
||||
<td><code class=pp>import xmlrpc.client</code>
|
||||
<tr><th>
|
||||
<td><pre><code class=pp>import <dfn>DocXMLRPCServer</dfn>
|
||||
<td><pre class=pp><code>import <dfn>DocXMLRPCServer</dfn>
|
||||
import <dfn>SimpleXMLRPCServer</dfn></code></pre>
|
||||
<td><code class=pp>import xmlrpc.server</code>
|
||||
</table>
|
||||
@@ -363,13 +363,13 @@ import <dfn>SimpleXMLRPCServer</dfn></code></pre>
|
||||
<th>Python 2
|
||||
<th>Python 3
|
||||
<tr><th>①
|
||||
<td><pre><code class=pp>try:
|
||||
<td><pre class=pp><code>try:
|
||||
import <dfn>cStringIO</dfn> as <dfn>StringIO</dfn>
|
||||
except ImportError:
|
||||
import StringIO</code></pre>
|
||||
<td><code class=pp>import io</code>
|
||||
<tr><th>②
|
||||
<td><pre><code class=pp>try:
|
||||
<td><pre class=pp><code>try:
|
||||
import cPickle as pickle
|
||||
except ImportError:
|
||||
import pickle</code></pre>
|
||||
@@ -456,22 +456,22 @@ except ImportError:
|
||||
<td><code class=pp>a_function_that_returns_an_iterator().next()</code>
|
||||
<td><code class=pp>next(a_function_that_returns_an_iterator())</code>
|
||||
<tr><th>③
|
||||
<td><pre><code class=pp>class A:
|
||||
<td><pre class=pp><code>class A:
|
||||
def next(self):
|
||||
pass</code></pre>
|
||||
<td><pre><code class=pp>class A:
|
||||
<td><pre class=pp><code>class A:
|
||||
def __next__(self):
|
||||
pass</code></pre>
|
||||
<tr><th>④
|
||||
<td><pre><code class=pp>class A:
|
||||
<td><pre class=pp><code>class A:
|
||||
def next(self, x, y):
|
||||
pass</code></pre>
|
||||
<td><i>no change</i>
|
||||
<tr><th>⑤
|
||||
<td><pre><code class=pp>next = 42
|
||||
<td><pre class=pp><code>next = 42
|
||||
for an_iterator in a_sequence_of_iterators:
|
||||
an_iterator.next()</code></pre>
|
||||
<td><pre><code class=pp>next = 42
|
||||
<td><pre class=pp><code>next = 42
|
||||
for an_iterator in a_sequence_of_iterators:
|
||||
an_iterator.__next__()</code></pre>
|
||||
</table>
|
||||
@@ -560,7 +560,7 @@ for an_iterator in a_sequence_of_iterators:
|
||||
<th>Python 3
|
||||
<tr><th>
|
||||
<td><code class=pp>reduce(a, b, c)</code>
|
||||
<td><pre><code class=pp>from functools import reduce
|
||||
<td><pre class=pp><code>from functools import reduce
|
||||
reduce(a, b, c)</code></pre>
|
||||
</table>
|
||||
|
||||
@@ -674,31 +674,31 @@ reduce(a, b, c)</code></pre>
|
||||
<th>Python 2
|
||||
<th>Python 3
|
||||
<tr><th>①
|
||||
<td><pre><code class=pp>try:
|
||||
<td><pre class=pp><code>try:
|
||||
import mymodule
|
||||
<dfn>except</dfn> ImportError, e
|
||||
pass</code></pre>
|
||||
<td><pre><code class=pp>try:
|
||||
<td><pre class=pp><code>try:
|
||||
import mymodule
|
||||
except ImportError as e:
|
||||
pass</code></pre>
|
||||
<tr><th>②
|
||||
<td><pre><code class=pp>try:
|
||||
<td><pre class=pp><code>try:
|
||||
import mymodule
|
||||
except (RuntimeError, ImportError), e
|
||||
pass</code></pre>
|
||||
<td><pre><code class=pp>try:
|
||||
<td><pre class=pp><code>try:
|
||||
import mymodule
|
||||
except (RuntimeError, ImportError) as e:
|
||||
pass</code></pre>
|
||||
<tr><th>③
|
||||
<td><pre><code class=pp>try:
|
||||
<td><pre class=pp><code>try:
|
||||
import mymodule
|
||||
except ImportError:
|
||||
pass</code></pre>
|
||||
<td><i>no change</i>
|
||||
<tr><th>④
|
||||
<td><pre><code class=pp>try:
|
||||
<td><pre class=pp><code>try:
|
||||
import mymodule
|
||||
except:
|
||||
pass</code></pre>
|
||||
@@ -951,14 +951,14 @@ except:
|
||||
<th>Python 2
|
||||
<th>Python 3
|
||||
<tr><th>①
|
||||
<td><pre><code class=pp>class A:
|
||||
<td><pre class=pp><code>class A:
|
||||
def <dfn>__nonzero__</dfn>(self):
|
||||
pass</code></pre>
|
||||
<td><pre><code class=pp>class A:
|
||||
<td><pre class=pp><code>class A:
|
||||
def <dfn>__bool__</dfn>(self):
|
||||
pass</code></pre>
|
||||
<tr><th>②
|
||||
<td><pre><code class=pp>class A:
|
||||
<td><pre class=pp><code>class A:
|
||||
def __nonzero__(self, x, y):
|
||||
pass</code></pre>
|
||||
<td><i>no change</i>
|
||||
@@ -1233,18 +1233,18 @@ except:
|
||||
<th>Python 2
|
||||
<th>Python 3
|
||||
<tr><th>①
|
||||
<td><pre><code class=pp>class C(metaclass=PapayaMeta):
|
||||
<td><pre class=pp><code>class C(metaclass=PapayaMeta):
|
||||
pass</code></pre>
|
||||
<td><i>unchanged</i>
|
||||
<tr><th>②
|
||||
<td><pre><code class=pp>class Whip:
|
||||
<td><pre class=pp><code>class Whip:
|
||||
__metaclass__ = PapayaMeta</code></pre>
|
||||
<td><pre><code class=pp>class Whip(metaclass=PapayaMeta):
|
||||
<td><pre class=pp><code>class Whip(metaclass=PapayaMeta):
|
||||
pass</code></pre>
|
||||
<tr><th>③
|
||||
<td><pre><code class=pp>class C(Whipper, Beater):
|
||||
<td><pre class=pp><code>class C(Whipper, Beater):
|
||||
__metaclass__ = PapayaMeta</code></pre>
|
||||
<td><pre><code class=pp>class C(Whipper, Beater, metaclass=PapayaMeta):
|
||||
<td><pre class=pp><code>class C(Whipper, Beater, metaclass=PapayaMeta):
|
||||
pass</code></pre>
|
||||
</table>
|
||||
|
||||
@@ -1335,9 +1335,9 @@ except:
|
||||
<th>After
|
||||
|
||||
<tr><th>
|
||||
<td><pre><code class=pp>while 1:
|
||||
<td><pre class=pp><code>while 1:
|
||||
do_stuff()</code></pre>
|
||||
<td><pre><code class=pp>while True:
|
||||
<td><pre class=pp><code>while True:
|
||||
do_stuff()</code></pre>
|
||||
<tr><th>
|
||||
<td><code class=pp>type(x) == T</code>
|
||||
@@ -1346,10 +1346,10 @@ except:
|
||||
<td><code class=pp>type(x) is T</code>
|
||||
<td><code class=pp>isinstance(x, T)</code>
|
||||
<tr><th>
|
||||
<td><pre><code class=pp>a_list = list(a_sequence)
|
||||
<td><pre class=pp><code>a_list = list(a_sequence)
|
||||
a_list.sort()
|
||||
do_stuff(a_list)</code></pre>
|
||||
<td><pre><code class=pp>a_list = sorted(a_sequence)
|
||||
<td><pre class=pp><code>a_list = sorted(a_sequence)
|
||||
do_stuff(a_list)</code></pre>
|
||||
</table>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user