Skip to content

Commit ac02176

Browse files
committed
deploy: fc0b073
1 parent 7b5ba7b commit ac02176

File tree

182 files changed

+648
-641
lines changed

Some content is hidden

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

182 files changed

+648
-641
lines changed

1_Basics_III.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1637,7 +1637,8 @@ <h3>関数とメソッドの違い<a class="headerlink" href="#id17" title="Link
16371637
<p>関数の特徴は,様々なオブジェクトに適用できることだ。<code class="docutils literal notranslate"><span class="pre">print()</span></code>関数は,異なるオブジェクトである<code class="docutils literal notranslate"><span class="pre">x</span></code>にも<code class="docutils literal notranslate"><span class="pre">y</span></code>にも使うことができる。そういう意味では,関数を適用できる用途は広い。図<a class="reference internal" href="#fig-3-method"><span class="std std-numref">Fig. 1</span></a>にあるように,イメージ的には,様々な用途に使える懐中電灯のようなものだろうか。</p>
16381638
<p>一方,メソッドはオブジェクトに元々備わっている関数である。例えば,<code class="docutils literal notranslate"><span class="pre">.append()</span></code>はリストである<code class="docutils literal notranslate"><span class="pre">[1,2,3]</span></code>に備わっている関数であり,整数型である<code class="docutils literal notranslate"><span class="pre">10</span></code>には備わっていない。<code class="docutils literal notranslate"><span class="pre">.append()</span></code>は,それが実装されている<code class="docutils literal notranslate"><span class="pre">[1,2,3]</span></code>に働きかける関数であり,実行後にその結果を返すことになる。そういう意味では,メソッドの用途は限られている。図<a class="reference internal" href="#fig-3-method"><span class="std std-numref">Fig. 1</span></a>にあるように,車のヘッドライトをイメージしてはどうだろうか。ヘッドライトは,夜走行する際に,安全のために装備された車の前方を照らすことが主な目的であり,他の用途に使うことは不可能ではないだろうが,難しいのではないだろうか。もう一点付け加えると,<code class="docutils literal notranslate"><span class="pre">x.append(100)</span></code>の場合,<code class="docutils literal notranslate"><span class="pre">100</span></code><code class="docutils literal notranslate"><span class="pre">x</span></code>に追加するが,その裏では<code class="docutils literal notranslate"><span class="pre">()</span></code>の中に<code class="docutils literal notranslate"><span class="pre">x</span></code>が引数として設定されことになる。</p>
16391639
<figure class="align-default" id="fig-3-method">
1640-
<a class="reference internal image-reference" href="_images/method.png"><img alt="_images/method.png" src="_images/method.png" style="width: 511.7px; height: 397.25px;" /></a>
1640+
<a class="reference internal image-reference" href="_images/method.png"><img alt="_images/method.png" src="_images/method.png" style="width: 511.7px; height: 397.25px;" />
1641+
</a>
16411642
<figcaption>
16421643
<p><span class="caption-number">Fig. 1 </span><span class="caption-text">関数とメソッドの違い</span><a class="headerlink" href="#fig-3-method" title="Link to this image">#</a></p>
16431644
</figcaption>
@@ -1749,7 +1750,8 @@ <h3>説明<a class="headerlink" href="#id19" title="Link to this heading">#</a><
17491750
</div>
17501751
<p>以上の説明を図<a class="reference internal" href="#fig-3-scope"><span class="std std-numref">Fig. 2</span></a>にまとめる次のようになる。</p>
17511752
<figure class="align-default" id="fig-3-scope">
1752-
<a class="reference internal image-reference" href="_images/scope.png"><img alt="_images/scope.png" src="_images/scope.png" style="width: 576.0999999999999px; height: 430.5px;" /></a>
1753+
<a class="reference internal image-reference" href="_images/scope.png"><img alt="_images/scope.png" src="_images/scope.png" style="width: 576.0999999999999px; height: 430.5px;" />
1754+
</a>
17531755
<figcaption>
17541756
<p><span class="caption-number">Fig. 2 </span><span class="caption-text">グローバル・スコープとローカル・スコープの関係</span><a class="headerlink" href="#fig-3-scope" title="Link to this image">#</a></p>
17551757
</figcaption>

1_Basics_IV.html

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@ <h2>フローチャート<a class="headerlink" href="#id2" title="Link to this h
542542
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Matplotlib is building the font cache; this may take a moment.
543543
</pre></div>
544544
</div>
545-
<img alt="_images/d3bd014319a010d5eb60e6cebcd72a04f3015e2ecf1a8c727da152725f5b0ba0.svg" src="_images/d3bd014319a010d5eb60e6cebcd72a04f3015e2ecf1a8c727da152725f5b0ba0.svg" />
545+
<img alt="_images/84148ae60587c9d0e1e078fb659250f887ca7c345a71bce575b4ade4f8953ea6.svg" src="_images/84148ae60587c9d0e1e078fb659250f887ca7c345a71bce575b4ade4f8953ea6.svg" />
546546
</div>
547547
</div>
548548
<p>一番最初と最後の楕円は,プログラムの始まり(<code class="docutils literal notranslate"><span class="pre">START</span></code>)と終わり(<code class="docutils literal notranslate"><span class="pre">END</span></code>)を表す。長方形はコードの処理,そして,矢印はプログラムの実行の順番(フロー)を意味する。単純な例なので,上から下に一直線の実行フローとなっている。より複雑なコードの場合,矢印が横向きや上向きになったりもし,枠も様々な形を使い実行フローを表現することになる。以下では,枠は次の3種類だけを使い制御フローをシンプルな形で表すことにする。</p>
@@ -647,7 +647,7 @@ <h3>説明と簡単な例<a class="headerlink" href="#id3" title="Link to this h
647647
</div>
648648
</details>
649649
<div class="cell_output docutils container">
650-
<img alt="_images/ce910249a130238b0c960ea19ce407af713ad32c874cc8b6bd3f361e88534612.svg" src="_images/ce910249a130238b0c960ea19ce407af713ad32c874cc8b6bd3f361e88534612.svg" />
650+
<img alt="_images/4fb48cdb8c052be4913ab4a1f1a24dc802206b16cabfa2fe79642ed422a5b31b.svg" src="_images/4fb48cdb8c052be4913ab4a1f1a24dc802206b16cabfa2fe79642ed422a5b31b.svg" />
651651
</div>
652652
</div>
653653
<p>菱形枠中の<code class="docutils literal notranslate"><span class="pre"></span></code>は「判断」を意味するが,上のコードの<code class="docutils literal notranslate"><span class="pre">#2</span></code>に対応している。<code class="docutils literal notranslate"><span class="pre">x=10</span></code><code class="docutils literal notranslate"><span class="pre">True</span></code>なので,菱形枠から右に移動して<code class="docutils literal notranslate"><span class="pre">条件はTrueです</span></code>が表示されることになる。</p>
@@ -700,7 +700,7 @@ <h3>説明と簡単な例<a class="headerlink" href="#id3" title="Link to this h
700700
</div>
701701
</details>
702702
<div class="cell_output docutils container">
703-
<img alt="_images/49a7d63580615363c3b40ad8d28dcb19b930ff4d2ab910dba30db24f036729d7.svg" src="_images/49a7d63580615363c3b40ad8d28dcb19b930ff4d2ab910dba30db24f036729d7.svg" />
703+
<img alt="_images/a5723dd3b3fff6b422ccfc5aa60d7ac7c73388bd81cf9a3d93ab35f7b296cca4.svg" src="_images/a5723dd3b3fff6b422ccfc5aa60d7ac7c73388bd81cf9a3d93ab35f7b296cca4.svg" />
704704
</div>
705705
</div>
706706
<p><code class="docutils literal notranslate"><span class="pre">False</span></code>と判断されると,直ぐに<code class="docutils literal notranslate"><span class="pre">END</span></code>となっている。</p>
@@ -752,7 +752,7 @@ <h3>複数条件<a class="headerlink" href="#id4" title="Link to this heading">#
752752
</div>
753753
</details>
754754
<div class="cell_output docutils container">
755-
<img alt="_images/792beeab58950c1d9600f4faa197969e4ed3d341a3c0ee3b716edfbcdceed774.svg" src="_images/792beeab58950c1d9600f4faa197969e4ed3d341a3c0ee3b716edfbcdceed774.svg" />
755+
<img alt="_images/15da34cd9f245d2d44c4344c34b6c7c9205466cfdcefcc560780a4799109ebe8.svg" src="_images/15da34cd9f245d2d44c4344c34b6c7c9205466cfdcefcc560780a4799109ebe8.svg" />
756756
</div>
757757
</div>
758758
<p>このフローチャートをコードに落とし込むと次のようになる。</p>
@@ -1025,7 +1025,7 @@ <h3>数値を返す例<a class="headerlink" href="#id7" title="Link to this head
10251025
</div>
10261026
</details>
10271027
<div class="cell_output docutils container">
1028-
<img alt="_images/96e4035e167a9535c8f594b8c471323f82dbe457ee4e76a3546ff73b01cb87e6.svg" src="_images/96e4035e167a9535c8f594b8c471323f82dbe457ee4e76a3546ff73b01cb87e6.svg" />
1028+
<img alt="_images/c3b22e6749204603d755b22ac73e64aa66e78aa9de1d79a0dac6f07baf9d4ac7.svg" src="_images/c3b22e6749204603d755b22ac73e64aa66e78aa9de1d79a0dac6f07baf9d4ac7.svg" />
10291029
</div>
10301030
</div>
10311031
<p>ここでは,まず <span class="math notranslate nohighlight">\(x=0\)</span><code class="docutils literal notranslate"><span class="pre">True</span></code><code class="docutils literal notranslate"><span class="pre">False</span></code>かを判断し,次に <span class="math notranslate nohighlight">\(x&gt;0\)</span><code class="docutils literal notranslate"><span class="pre">True</span></code><code class="docutils literal notranslate"><span class="pre">False</span></code>かを判定している。しかし,図から分かるように,この2つの判断は,非常に似ており,次のように1つにまとめることができる。</p>
@@ -1057,7 +1057,7 @@ <h3>数値を返す例<a class="headerlink" href="#id7" title="Link to this head
10571057
</div>
10581058
</details>
10591059
<div class="cell_output docutils container">
1060-
<img alt="_images/f3362326a443d753e0ee73662751e2cd10bdd605dc4288fadc409d2d9a15083c.svg" src="_images/f3362326a443d753e0ee73662751e2cd10bdd605dc4288fadc409d2d9a15083c.svg" />
1060+
<img alt="_images/fa2bdc221048f863e1b7375257fc3082c29c3f44b7d2a1be20fac9b87a580625.svg" src="_images/fa2bdc221048f863e1b7375257fc3082c29c3f44b7d2a1be20fac9b87a580625.svg" />
10611061
</div>
10621062
</div>
10631063
<p>このフローチャートに従って,<code class="docutils literal notranslate"><span class="pre">if</span></code>文を使いコードを書いてみよう。</p>
@@ -1319,7 +1319,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">print()</span><
13191319
</div>
13201320
</details>
13211321
<div class="cell_output docutils container">
1322-
<img alt="_images/7206a3cc9006945e9d9088406c9e6a214d05332a6956b39094f1e9c4e1d526bb.svg" src="_images/7206a3cc9006945e9d9088406c9e6a214d05332a6956b39094f1e9c4e1d526bb.svg" />
1322+
<img alt="_images/dd7f508359bdfd681c5dd4d2a0dd7b49579a2fdd16c52afa545bb73756bb0640.svg" src="_images/dd7f508359bdfd681c5dd4d2a0dd7b49579a2fdd16c52afa545bb73756bb0640.svg" />
13231323
</div>
13241324
</div>
13251325
<p>この図から,<code class="docutils literal notranslate"><span class="pre">for</span></code>ループの裏では菱形の判断,即ち,<code class="docutils literal notranslate"><span class="pre">if</span></code>文が動いていることが分かる。<code class="docutils literal notranslate"><span class="pre">gdp_components</span></code>の最後の要素のループ処理が終わったかどうかを判断している。</p>
@@ -2146,7 +2146,7 @@ <h3>説明と簡単な例<a class="headerlink" href="#id12" title="Link to this
21462146
</div>
21472147
</details>
21482148
<div class="cell_output docutils container">
2149-
<img alt="_images/18f09608dafc3273e5eddc9561095fd84d2ea0129c3fe0ee113e97bbc47b0b05.svg" src="_images/18f09608dafc3273e5eddc9561095fd84d2ea0129c3fe0ee113e97bbc47b0b05.svg" />
2149+
<img alt="_images/6cf8f0d16bd2aa549d4823055184bb688aaca4c4cca3abb8565173c61391c4d3.svg" src="_images/6cf8f0d16bd2aa549d4823055184bb688aaca4c4cca3abb8565173c61391c4d3.svg" />
21502150
</div>
21512151
</div>
21522152
<p>この図から,最後の<code class="docutils literal notranslate"><span class="pre">counter+=1</span></code>がなければ無限ループに陥ってしまうことが分かると思う。また,<code class="docutils literal notranslate"><span class="pre">for</span></code>ループ同様,菱形で<code class="docutils literal notranslate"><span class="pre">if</span></code>文が裏で働いていることが分かる。一方で,<code class="docutils literal notranslate"><span class="pre">if</span></code>文の判断で次の点で異なる。</p>
@@ -2217,7 +2217,7 @@ <h3>説明と簡単な例<a class="headerlink" href="#id12" title="Link to this
22172217
</div>
22182218
</details>
22192219
<div class="cell_output docutils container">
2220-
<img alt="_images/9f90f5e13610dac4ac1aad833e37d26e31d941bc465586d1d3c41a16280b1e38.svg" src="_images/9f90f5e13610dac4ac1aad833e37d26e31d941bc465586d1d3c41a16280b1e38.svg" />
2220+
<img alt="_images/5f5d73b9eb1df44cbfcd5003eca5c767e1f43258a02477db8509e832c74ce25d.svg" src="_images/5f5d73b9eb1df44cbfcd5003eca5c767e1f43258a02477db8509e832c74ce25d.svg" />
22212221
</div>
22222222
</div>
22232223
<p>上のフローチャートと比べると,菱形枠と<code class="docutils literal notranslate"><span class="pre">END</span></code>の間に<code class="docutils literal notranslate"><span class="pre">print('無事終了(^^)')</span></code>が追加されている。</p>
@@ -2460,7 +2460,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
24602460
</div>
24612461
</details>
24622462
<div class="cell_output docutils container">
2463-
<img alt="_images/a8c5a27618906403e9d24011b961dece78f8a759a7bbd19d0b27318171434847.svg" src="_images/a8c5a27618906403e9d24011b961dece78f8a759a7bbd19d0b27318171434847.svg" />
2463+
<img alt="_images/7c5f01b45d0697d22ac6348c31b224cbb009ac4fa497ae2049fc07f489fd4b78.svg" src="_images/7c5f01b45d0697d22ac6348c31b224cbb009ac4fa497ae2049fc07f489fd4b78.svg" />
24642464
</div>
24652465
</div>
24662466
<p>この例に基づいて,<code class="docutils literal notranslate"><span class="pre">1</span></code>から<code class="docutils literal notranslate"><span class="pre">5</span></code>までの数字を<code class="docutils literal notranslate"><span class="pre">3</span></code>を飛ばして<code class="docutils literal notranslate"><span class="pre">1</span></code><code class="docutils literal notranslate"><span class="pre">2</span></code><code class="docutils literal notranslate"><span class="pre">4</span></code><code class="docutils literal notranslate"><span class="pre">5</span></code>を表示するとしよう。その場合に重宝するのが<code class="docutils literal notranslate"><span class="pre">if</span></code>文と<code class="docutils literal notranslate"><span class="pre">continue</span></code>(対象コードの実行を飛ばすコード)の組み合わせである。まず,フローチャートで表してみよう。</p>
@@ -2500,7 +2500,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
25002500
</div>
25012501
</details>
25022502
<div class="cell_output docutils container">
2503-
<img alt="_images/b8c7f857dcadcc71d4daf5635b79912c6028ee8f29a7d2fade650d4eb42fbdb7.svg" src="_images/b8c7f857dcadcc71d4daf5635b79912c6028ee8f29a7d2fade650d4eb42fbdb7.svg" />
2503+
<img alt="_images/dc0a754d3c17d9acb971863ca4d7e189933ee6c270838618b60eaa44b77c9429.svg" src="_images/dc0a754d3c17d9acb971863ca4d7e189933ee6c270838618b60eaa44b77c9429.svg" />
25042504
</div>
25052505
</div>
25062506
<p>上のフローチャートと異なる点は,下の菱形が追加されていることだけであり,その菱形を<code class="docutils literal notranslate"><span class="pre">if</span></code>文で捉えることができる。更に,下の菱形から上の菱形への矢印(<code class="docutils literal notranslate"><span class="pre">3</span></code>の表示を飛ばす)を<code class="docutils literal notranslate"><span class="pre">continue</span></code>で実行することになる。コードを書いてみよう。</p>
@@ -2585,7 +2585,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
25852585
</div>
25862586
</details>
25872587
<div class="cell_output docutils container">
2588-
<img alt="_images/4ca52805385f86382379f2ff6ab4ff90a0119910c56e20978b028dfce0485774.svg" src="_images/4ca52805385f86382379f2ff6ab4ff90a0119910c56e20978b028dfce0485774.svg" />
2588+
<img alt="_images/2feea4f46e0c09108240862562bd859f02080e90e4b79aa49c0bc2e32448b3d7.svg" src="_images/2feea4f46e0c09108240862562bd859f02080e90e4b79aa49c0bc2e32448b3d7.svg" />
25892589
</div>
25902590
</div>
25912591
<p>菱形の中は<code class="docutils literal notranslate"><span class="pre">True</span></code>なので,必ず<code class="docutils literal notranslate"><span class="pre">True</span></code>の矢印の方向に沿ってコードは実行される。<code class="docutils literal notranslate"><span class="pre">False</span></code>も書いてあるが,そちらの矢印に決して進むことはない。</p>
@@ -2623,7 +2623,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
26232623
</div>
26242624
</details>
26252625
<div class="cell_output docutils container">
2626-
<img alt="_images/823118cd9658c0ad5f38c71cb424ad31ea2fb86525170d076c7d2a8919bfc3e5.svg" src="_images/823118cd9658c0ad5f38c71cb424ad31ea2fb86525170d076c7d2a8919bfc3e5.svg" />
2626+
<img alt="_images/60b360668b92a246d61079be7185f9516c31e6911c9be7647100c8f6d03a81fe.svg" src="_images/60b360668b92a246d61079be7185f9516c31e6911c9be7647100c8f6d03a81fe.svg" />
26272627
</div>
26282628
</div>
26292629
<p>上のフローチャートと異なるのは,下の菱形(<code class="docutils literal notranslate"><span class="pre">条件?</span></code>)を追加することにより,<code class="docutils literal notranslate"><span class="pre">while</span></code>ループは維持するとともに<code class="docutils literal notranslate"><span class="pre">END</span></code>への矢印を追加した点である。</p>
@@ -2706,7 +2706,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
27062706
</div>
27072707
</details>
27082708
<div class="cell_output docutils container">
2709-
<img alt="_images/2e50f9a69e1a84ec651ccab0f72e3e9ace07927b25187db75753b894ed8fe252.svg" src="_images/2e50f9a69e1a84ec651ccab0f72e3e9ace07927b25187db75753b894ed8fe252.svg" />
2709+
<img alt="_images/2bb265a3fb3b1b941b22c36a28c0d5f2a4185579f81e61fbfefd917213ae563c.svg" src="_images/2bb265a3fb3b1b941b22c36a28c0d5f2a4185579f81e61fbfefd917213ae563c.svg" />
27102710
</div>
27112711
</div>
27122712
<p>上のコードの<code class="docutils literal notranslate"><span class="pre">#4</span></code><code class="docutils literal notranslate"><span class="pre">#6</span></code>を少し書き換えて,次のようにしても同じ結果が返される。</p>
@@ -2839,7 +2839,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">continue</span>
28392839
</div>
28402840
</details>
28412841
<div class="cell_output docutils container">
2842-
<img alt="_images/ff0b4eaf6165f7cd5ab907f7bd2d9aafa55a0c030a21c7929132f4b1f187649a.svg" src="_images/ff0b4eaf6165f7cd5ab907f7bd2d9aafa55a0c030a21c7929132f4b1f187649a.svg" />
2842+
<img alt="_images/1044ee6555caee6169f9112df9ceb325baec2a2a3bd404843a8bf6aaf82bd74d.svg" src="_images/1044ee6555caee6169f9112df9ceb325baec2a2a3bd404843a8bf6aaf82bd74d.svg" />
28432843
</div>
28442844
</div>
28452845
</section>

0 commit comments

Comments
 (0)