You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -236,7 +236,7 @@ <h2>Changes in the second and third editions<a class="headerlink" href="#changes
236
236
workspaces in <aclass="reference internal" href="2_programs_in_files.html#workspaces"><spanclass="std std-numref">Section 2.2.1</span></a>, and the Flake8 extension in
237
237
<aclass="reference internal" href="4_style.html#flake8-extension"><spanclass="std std-numref">Section 4.2.2</span></a>. Together, these provide correctly integrated code
238
238
linting. It also consistently uses <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">python</span><spanclass="pre">-m</span></code> to invoke tools such as <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pip</span></code>,
239
-
<aclass="reference external" href="https://docs.pytest.org/en/latest/index.html#module-pytest" title="(in pytest v8.4.0.dev200)"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pytest</span></code></a> and <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">flake8</span></code>. This is less error-prone for students. The description
239
+
<aclass="reference external" href="https://docs.pytest.org/en/latest/index.html#module-pytest" title="(in pytest v8.4.0.dev336)"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pytest</span></code></a> and <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">flake8</span></code>. This is less error-prone for students. The description
240
240
of <aclass="reference external" href="https://docs.python.org/3/reference/compound_stmts.html#finally" title="(in Python v3.13)"><codeclass="xref std std-keyword docutils literal notranslate"><spanclass="pre">finally</span></code></a> in <aclass="reference internal" href="6_exceptions.html#else-finally"><spanclass="std std-numref">Section 6.5.2</span></a> has been also improved.</p>
241
241
</section>
242
242
</section>
@@ -250,7 +250,7 @@ <h2>Changes in the second and third editions<a class="headerlink" href="#changes
250
250
</div>
251
251
<divclass="footer" role="contentinfo">
252
252
© Copyright 2019-2023, David A. Ham.
253
-
Created using <ahref="https://www.sphinx-doc.org/">Sphinx</a>8.1.3.
253
+
Created using <ahref="https://www.sphinx-doc.org/">Sphinx</a>7.4.7.
@@ -89,7 +89,7 @@ <h1><span class="section-number">10. </span>Further object-oriented features<a c
89
89
</div>
90
90
<p>Decorators are therefore merely <aclass="reference internal" href="#term-syntactic-sugar"><spanclass="xref std std-term">syntactic sugar</span></a>, but can be very useful
91
91
in removing the need for boiler-plate code at the top of functions. For
92
-
example, your code for <codeclass="xref std std-numref docutils literal notranslate"><spanclass="pre">Exercise</span><spanclass="pre">%s</span></code> probably contains a lot
92
+
example, your code for <aclass="reference internal" href="9_trees_and_directed_acyclic_graphs.html#ex-expr"><spanclass="std std-numref">Exercise 9.6</span></a> probably contains a lot
<spanclass="w"></span><spanclass="sd">"""Return the Expr for the sum of this Expr and another."""</span>
@@ -550,7 +550,7 @@ <h2><span class="section-number">10.4. </span>Exercises<a class="headerlink" hre
550
550
<divclass="proof proof-type-exercise" id="id8">
551
551
552
552
<divclass="proof-title">
553
-
<spanclass="proof-type">Exercise </span>
553
+
<spanclass="proof-type">Exercise 10.1</span>
554
554
555
555
</div><divclass="proof-content">
556
556
<p>The objective of this exercise is to write a <aclass="reference internal" href="#term-decorator"><spanclass="xref std std-term">decorator</span></a> which logs
@@ -569,7 +569,7 @@ <h2><span class="section-number">10.4. </span>Exercises<a class="headerlink" hre
<p>The <codeclass="xref py py-mod docutils literal notranslate"><spanclass="pre">groups.groups</span></code> module in the skeleton code is the new version
@@ -605,7 +605,7 @@ <h2><span class="section-number">10.4. </span>Exercises<a class="headerlink" hre
605
605
</div>
606
606
<divclass="footer" role="contentinfo">
607
607
© Copyright 2019-2023, David A. Ham.
608
-
Created using <ahref="https://www.sphinx-doc.org/">Sphinx</a>8.1.3.
608
+
Created using <ahref="https://www.sphinx-doc.org/">Sphinx</a>7.4.7.
@@ -318,7 +318,7 @@ <h3><span class="section-number">1.2.2. </span>Creating the venv<a class="header
318
318
<h2><spanclass="section-number">1.3. </span>Installing Python packages<aclass="headerlink" href="#installing-python-packages" title="Link to this heading">¶</a></h2>
319
319
<p>Suppose we’ve created and activated a venv, and now there’s a Python package
320
320
we’d like to have access to. Installation of Python packages is handled by the
321
-
Python package <aclass="reference external" href="https://pip.pypa.io/en/stable/" title="(in pip v24.3)"><spanclass="xref std std-doc">Pip</span></a>, which you will usually find
321
+
Python package <aclass="reference external" href="https://pip.pypa.io/en/stable/" title="(in pip v25.0)"><spanclass="xref std std-doc">Pip</span></a>, which you will usually find
322
322
pre-installed in your Python installation. Pip has many usage options, which
323
323
enable a large number of different installation configurations. However, for
324
324
most users most of the time, a few simple pip commands suffice. As with
<p><aclass="reference external" href="https://pypi.org">PyPI</a> is the Python Package Index. It is the
330
330
official download location for publicly released Python packages which
331
331
aren’t themselves a part of the built-in <aclass="reference external" href="https://docs.python.org/3/library/index.html" title="(in Python v3.13)"><spanclass="xref std std-doc">Python Standard Library</span></a>. Many important mathematical packages
332
-
including <aclass="reference external" href="https://numpy.org/doc/stable/reference/index.html#module-numpy" title="(in NumPy v2.1)"><codeclass="xref py py-mod docutils literal notranslate"><spanclass="pre">numpy</span></code></a> and <aclass="reference external" href="https://www.sympy.org">sympy</a> are
333
-
distributed from PyPI. Suppose your venv doesn’t have <aclass="reference external" href="https://numpy.org/doc/stable/reference/index.html#module-numpy" title="(in NumPy v2.1)"><codeclass="xref py py-mod docutils literal notranslate"><spanclass="pre">numpy</span></code></a>
332
+
including <aclass="reference external" href="https://numpy.org/doc/stable/reference/index.html#module-numpy" title="(in NumPy v2.2)"><codeclass="xref py py-mod docutils literal notranslate"><spanclass="pre">numpy</span></code></a> and <aclass="reference external" href="https://www.sympy.org">sympy</a> are
333
+
distributed from PyPI. Suppose your venv doesn’t have <aclass="reference external" href="https://numpy.org/doc/stable/reference/index.html#module-numpy" title="(in NumPy v2.2)"><codeclass="xref py py-mod docutils literal notranslate"><spanclass="pre">numpy</span></code></a>
334
334
installed and you need it. You would install it with the following
0 commit comments