Skip to content

Commit 9799698

Browse files
committed
fix code snippets
1 parent 7610462 commit 9799698

File tree

72 files changed

+2632
-620
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+2632
-620
lines changed
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

docs/.doctrees/environment.pickle

-269 Bytes
Binary file not shown.

docs/Module2_EssentialsOfPython/Basic_Objects.html

+8-5
Original file line numberDiff line numberDiff line change
@@ -569,7 +569,7 @@ <h4>Understanding Numerical Precision<a class="headerlink" href="#Understanding-
569569
value of that float. As such, attempting to modify a number in decimal
570570
places beyond its numerical precision does not have any effect:</p>
571571
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="c1"># changing a float beyond its precision has no effect</span>
572-
<span class="o">&gt;&gt;&gt;</span> <span class="mf">1.</span> <span class="o">+</span> <span class="mf">1e-16</span>
572+
<span class="o">&gt;&gt;&gt;</span> <span class="mf">1.</span> <span class="o">+</span> <span class="mf">1e-16</span>
573573
<span class="mf">1.0</span>
574574
</pre></div>
575575
</div>
@@ -604,6 +604,7 @@ <h4>Understanding Numerical Precision<a class="headerlink" href="#Understanding-
604604
we will check if their absolute difference is sufficiently small:</p>
605605
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="c1"># checking if two float values are &quot;almost equal&quot;</span>
606606
<span class="o">&gt;&gt;&gt;</span> <span class="kn">import</span> <span class="nn">math</span>
607+
607608
<span class="c1"># check:</span>
608609
<span class="c1"># | (0.1 + 0.1 + 0.1 - 0.3) - 0 | &lt; 1x10^{-9}</span>
609610
<span class="o">&gt;&gt;&gt;</span> <span class="n">math</span><span class="o">.</span><span class="n">isclose</span><span class="p">((</span><span class="mf">0.1</span> <span class="o">+</span> <span class="mf">0.1</span> <span class="o">+</span> <span class="mf">0.1</span> <span class="o">-</span> <span class="mf">0.3</span><span class="p">),</span> <span class="mf">0.</span><span class="p">,</span> <span class="n">abs_tol</span><span class="o">=</span><span class="mf">1e-9</span><span class="p">)</span>
@@ -744,7 +745,7 @@ <h2>The Boolean Type<a class="headerlink" href="#The-Boolean-Type" title="Permal
744745
<span class="go">False</span>
745746

746747
<span class="gp">&gt;&gt;&gt; </span><span class="p">(</span><span class="mi">2</span> <span class="o">&lt;</span> <span class="mi">4</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="p">(</span><span class="mi">4</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span>
747-
<span class="go">True</span>
748+
<span class="go">False</span>
748749
</pre></div>
749750
</div>
750751
<p>The <code class="docutils literal"><span class="pre">bool</span></code> type has additional utilities, which will be discussed in
@@ -858,7 +859,7 @@ <h3>Introducing the string type<a class="headerlink" href="#Introducing-the-stri
858859
<p>As the string stores a <em>sequence</em> of characters, Python provides a means
859860
for accessing individual characters and subsequences of characters from
860861
a string:</p>
861-
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">sentence</span> <span class="o">=</span> <span class="s2">&quot;The cat in the hat.</span>
862+
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">sentence</span> <span class="o">=</span> <span class="s2">&quot;The cat in the hat.&quot;</span>
862863
<span class="gp">&gt;&gt;&gt; </span><span class="n">sentence</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
863864
<span class="go">&#39;T&#39;</span>
864865
<span class="gp">&gt;&gt;&gt; </span><span class="n">sentence</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">3</span><span class="p">]</span>
@@ -1054,6 +1055,7 @@ <h3>Lists can be “mutated”<a class="headerlink" href="#Lists-can-be-“mutat
10541055

10551056
<span class="c1"># replace a subsequence of `y`</span>
10561057
<span class="o">&gt;&gt;&gt;</span> <span class="n">y</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="o">-</span><span class="mi">4</span><span class="p">,</span> <span class="o">-</span><span class="mi">5</span><span class="p">]</span>
1058+
<span class="o">&gt;&gt;&gt;</span> <span class="n">y</span>
10571059
<span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="o">-</span><span class="mi">4</span><span class="p">,</span> <span class="o">-</span><span class="mi">5</span><span class="p">,</span> <span class="mi">10</span><span class="p">]</span>
10581060
</pre></div>
10591061
</div>
@@ -1076,18 +1078,19 @@ <h3>Lists can be “mutated”<a class="headerlink" href="#Lists-can-be-“mutat
10761078
based on its position in the list, or by specifying the item itself,
10771079
respectively.</p>
10781080
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">x</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;a&quot;</span><span class="p">,</span> <span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="s2">&quot;d&quot;</span><span class="p">]</span>
1081+
10791082
<span class="go"># pop the position-1 item out from a list</span>
10801083
<span class="go"># `pop` will return the item that gets removed.</span>
10811084
<span class="gp">&gt;&gt;&gt; </span><span class="n">x</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
1082-
<span class="go">&quot;b&quot;</span>
1085+
<span class="go">&#39;b&#39;</span>
10831086

10841087
<span class="gp">&gt;&gt;&gt; </span><span class="n">x</span>
10851088
<span class="go">[&#39;a&#39;, &#39;c&#39;, &#39;d&#39;]</span>
10861089

10871090
<span class="go"># remove the object &quot;d&quot; from the list</span>
10881091
<span class="gp">&gt;&gt;&gt; </span><span class="n">x</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">)</span>
10891092
<span class="gp">&gt;&gt;&gt; </span><span class="n">x</span>
1090-
<span class="go">[&quot;a&quot;, &quot;c&quot;]</span>
1093+
<span class="go">[&#39;a&#39;, &#39;c&#39;]</span>
10911094
</pre></div>
10921095
</div>
10931096
</div>

docs/Module2_EssentialsOfPython/ConditionalStatements.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -584,7 +584,7 @@ <h3>Inline if-else statements<a class="headerlink" href="#Inline-if-else-stateme
584584
<span class="p">[</span><span class="mi">1</span><span class="p">]</span>
585585

586586
<span class="o">&gt;&gt;&gt;</span> <span class="s2">&quot;a&quot;</span> <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="mi">1</span> <span class="k">else</span> <span class="s2">&quot;b&quot;</span>
587-
<span class="s2">&quot;b</span>
587+
<span class="s1">&#39;b&#39;</span>
588588
</pre></div>
589589
</div>
590590
<p>We will see this syntax shine when we learn about comprehension

docs/Module2_EssentialsOfPython/DataStructures.html

+2
Original file line numberDiff line numberDiff line change
@@ -267,9 +267,11 @@ <h1>Data Structures (Part I): Introduction<a class="headerlink" href="#Data-Stru
267267
membership in a list:</p>
268268
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="c1"># test for membership in a list</span>
269269
<span class="o">&gt;&gt;&gt;</span> <span class="o">-</span><span class="mi">1</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="s2">&quot;moo&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="bp">True</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">]</span> <span class="c1"># takes 295 nanoseconds on my machine</span>
270+
<span class="bp">False</span>
270271

271272
<span class="c1"># test for membership in a set</span>
272273
<span class="o">&gt;&gt;&gt;</span> <span class="o">-</span><span class="mi">1</span> <span class="ow">in</span> <span class="p">{</span><span class="mi">1</span><span class="p">,</span> <span class="s2">&quot;moo&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="bp">True</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">}</span> <span class="c1"># takes 65 nanoseconds on my machine</span>
274+
<span class="bp">False</span>
273275
</pre></div>
274276
</div>
275277
<p>We get a 4.5x speedup in our membership test just by using a set instead

docs/Module2_EssentialsOfPython/Functions.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,7 @@ <h3>Specifying Arguments by Name<a class="headerlink" href="#Specifying-Argument
489489
also be named:</p>
490490
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="c1"># positional arguments cannot follow named arguments</span>
491491
<span class="o">&gt;&gt;&gt;</span> <span class="n">is_bounded</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="n">lower</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span>
492-
<span class="c1"># error!</span>
492+
<span class="ne">SyntaxError</span><span class="p">:</span> <span class="n">positional</span> <span class="n">argument</span> <span class="n">follows</span> <span class="n">keyword</span> <span class="n">argument</span>
493493
</pre></div>
494494
</div>
495495
</div>

docs/Module2_EssentialsOfPython/Generators_and_Comprehensions.html

+5-2
Original file line numberDiff line numberDiff line change
@@ -448,12 +448,15 @@ <h3>Storing generators<a class="headerlink" href="#Storing-generators" title="Pe
448448
reason, generators cannot be inspected in the same way that lists and
449449
other sequences can be. You <strong>cannot</strong> do the following:</p>
450450
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="c1"># you **cannot** do the following...</span>
451+
<span class="o">&gt;&gt;&gt;</span> <span class="n">gen</span> <span class="o">=</span> <span class="p">(</span><span class="n">i</span><span class="o">**</span><span class="mi">2</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100</span><span class="p">))</span>
451452

452453
<span class="c1"># query the length of a generator</span>
453-
<span class="o">&gt;&gt;&gt;</span> <span class="nb">len</span><span class="p">(</span><span class="n">generator</span><span class="p">)</span> <span class="c1"># TypeError: object of type &#39;generator&#39; has no len()</span>
454+
<span class="o">&gt;&gt;&gt;</span> <span class="nb">len</span><span class="p">(</span><span class="n">gen</span><span class="p">)</span>
455+
<span class="ne">TypeError</span><span class="p">:</span> <span class="nb">object</span> <span class="n">of</span> <span class="nb">type</span> <span class="s1">&#39;generator&#39;</span> <span class="n">has</span> <span class="n">no</span> <span class="nb">len</span><span class="p">()</span>
454456

455457
<span class="c1"># index into a generator</span>
456-
<span class="o">&gt;&gt;&gt;</span> <span class="n">generator</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="c1"># TypeError: &#39;generator&#39; object is not subscriptable</span>
458+
<span class="o">&gt;&gt;&gt;</span> <span class="n">gen</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
459+
<span class="ne">TypeError</span><span class="p">:</span> <span class="s1">&#39;generator&#39;</span> <span class="nb">object</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">subscriptable</span>
457460
</pre></div>
458461
</div>
459462
<p>The sole exception to this is the <code class="docutils literal"><span class="pre">range</span></code> generator, for which all of

docs/Module2_EssentialsOfPython/Itertools.html

+11-7
Original file line numberDiff line numberDiff line change
@@ -236,16 +236,16 @@ <h1>Python’s “Itertools”<a class="headerlink" href="#Python’s-“Itertoo
236236
<div class="section" id="range">
237237
<h2><code class="docutils literal"><span class="pre">range</span></code><a class="headerlink" href="#range" title="Permalink to this headline"></a></h2>
238238
<p>generate a sequence of integers in the specified “range”:</p>
239-
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
240-
<span class="go"># will generate 0.. 1.. 2.. ... 8.. 9</span>
239+
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="c1"># will generate 0.. 1.. 2.. ... 8.. 9</span>
240+
<span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
241241
</pre></div>
242242
</div>
243243
</div>
244244
<div class="section" id="enumerate">
245245
<h2><code class="docutils literal"><span class="pre">enumerate</span></code><a class="headerlink" href="#enumerate" title="Permalink to this headline"></a></h2>
246246
<p>“enumerate” the items in an iterable:</p>
247-
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="nb">enumerate</span><span class="p">([</span><span class="s2">&quot;apple&quot;</span><span class="p">,</span> <span class="s2">&quot;banana&quot;</span><span class="p">,</span> <span class="s2">&quot;cat&quot;</span><span class="p">,</span> <span class="s2">&quot;dog&quot;</span><span class="p">])</span>
248-
<span class="go"># will generate (0, &#39;apple&#39;).. (1, &#39;banana&#39;).. (2, &#39;cat&#39;).. (3, &#39;dog&#39;)]</span>
247+
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="c1"># will generate (0, &#39;apple&#39;).. (1, &#39;banana&#39;).. (2, &#39;cat&#39;).. (3, &#39;dog&#39;)]</span>
248+
<span class="nb">enumerate</span><span class="p">([</span><span class="s2">&quot;apple&quot;</span><span class="p">,</span> <span class="s2">&quot;banana&quot;</span><span class="p">,</span> <span class="s2">&quot;cat&quot;</span><span class="p">,</span> <span class="s2">&quot;dog&quot;</span><span class="p">])</span>
249249
</pre></div>
250250
</div>
251251
</div>
@@ -257,8 +257,9 @@ <h2><code class="docutils literal"><span class="pre">zip</span></code><a class="
257257
<span class="gp">&gt;&gt;&gt; </span><span class="n">exam_1_scores</span> <span class="o">=</span> <span class="p">[</span><span class="mi">90</span><span class="p">,</span> <span class="mi">82</span><span class="p">,</span> <span class="mi">79</span><span class="p">,</span> <span class="mi">87</span><span class="p">]</span>
258258
<span class="gp">&gt;&gt;&gt; </span><span class="n">exam_2_scores</span> <span class="o">=</span> <span class="p">[</span><span class="mi">95</span><span class="p">,</span> <span class="mi">84</span><span class="p">,</span> <span class="mi">72</span><span class="p">,</span> <span class="mi">91</span><span class="p">]</span>
259259

260-
<span class="gp">&gt;&gt;&gt; </span><span class="nb">zip</span><span class="p">(</span><span class="n">names</span><span class="p">,</span> <span class="n">exam_1_scores</span><span class="p">,</span> <span class="n">exam_2_scores</span><span class="p">)</span>
261260
<span class="go"># will generate (&#39;Angie&#39;, 90, 95).. (&#39;Brian&#39;, 82, 84).. (&#39;Cassie&#39;, 79, 72).. (&#39;David&#39;, 87, 91)]</span>
261+
<span class="gp">&gt;&gt;&gt; </span><span class="nb">zip</span><span class="p">(</span><span class="n">names</span><span class="p">,</span> <span class="n">exam_1_scores</span><span class="p">,</span> <span class="n">exam_2_scores</span><span class="p">)</span>
262+
<span class="go">&lt;zip at 0x20de1082608&gt;</span>
262263
</pre></div>
263264
</div>
264265
<hr class="docutils" />
@@ -274,17 +275,20 @@ <h2><code class="docutils literal"><span class="pre">itertools.chain</span></cod
274275
<span class="gp">&gt;&gt;&gt; </span><span class="n">iter_3</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;moo&quot;</span><span class="p">,</span> <span class="s2">&quot;cow&quot;</span><span class="p">]</span>
275276
<span class="gp">&gt;&gt;&gt; </span><span class="n">iter_4</span> <span class="o">=</span> <span class="s2">&quot;him&quot;</span>
276277

277-
<span class="gp">&gt;&gt;&gt; </span> <span class="n">chain</span><span class="p">(</span><span class="n">gen_1</span><span class="p">,</span> <span class="n">gen_2</span><span class="p">,</span> <span class="n">iter_3</span><span class="p">,</span> <span class="n">iter_4</span><span class="p">)</span>
278278
<span class="go"># will generate: 0.. 2.. 4.. 9.. 16.. 25.. &#39;moo&#39;.. &#39;cow&#39;.. &#39;h&#39;.. &#39;i&#39;.. &#39;m&#39;</span>
279+
<span class="gp">&gt;&gt;&gt; </span><span class="n">chain</span><span class="p">(</span><span class="n">gen_1</span><span class="p">,</span> <span class="n">gen_2</span><span class="p">,</span> <span class="n">iter_3</span><span class="p">,</span> <span class="n">iter_4</span><span class="p">)</span>
280+
<span class="go">&lt;itertools.chain at 0x20de109ec18&gt;</span>
279281
</pre></div>
280282
</div>
281283
</div>
282284
<div class="section" id="itertools.combinations">
283285
<h2><code class="docutils literal"><span class="pre">itertools.combinations</span></code><a class="headerlink" href="#itertools.combinations" title="Permalink to this headline"></a></h2>
284286
<p>Generate all length-n “combinations” from an iterable:</p>
285287
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">itertools</span> <span class="kn">import</span> <span class="n">combinations</span>
286-
<span class="gp">&gt;&gt;&gt; </span><span class="n">combinations</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="mi">3</span><span class="p">)</span> <span class="c1"># generate all length-3 combinations from [0, 1, 2, 3]</span>
288+
287289
<span class="go"># will generate: (0, 1, 2).. (0, 1, 3).. (0, 2, 3).. (1, 2, 3)</span>
290+
<span class="gp">&gt;&gt;&gt; </span><span class="n">combinations</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="mi">3</span><span class="p">)</span> <span class="c1"># generate all length-3 combinations from [0, 1, 2, 3]</span>
291+
<span class="go">&lt;itertools.combinations at 0x20de10a7728&gt;</span>
288292
</pre></div>
289293
</div>
290294
</div>

0 commit comments

Comments
 (0)