diff --git a/1_Basics_III.ipynb b/1_Basics_III.ipynb index 2fcd56c7..5419132f 100644 --- a/1_Basics_III.ipynb +++ b/1_Basics_III.ipynb @@ -1840,7 +1840,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "heading_collapsed": true + }, "source": [ "## オブジェクトと属性" ] @@ -1848,7 +1850,8 @@ { "cell_type": "markdown", "metadata": { - "heading_collapsed": true + "heading_collapsed": true, + "hidden": true }, "source": [ "### 属性について" @@ -2152,14 +2155,19 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "heading_collapsed": true, + "hidden": true + }, "source": [ "### 関数とメソッドの違い" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hidden": true + }, "source": [ "本章の最初で関数について説明し,ここではメソッドについて解説した。その説明を読んでも,関数とメソッドの違いが不明瞭だと感じる読者もいるだろう。ここでは,その違いを再度考えてみる。関数とメソッドの役割は基本的には同じだが,で異なる点を図{numref}`fig:3-method`にまとめた。\n", "\n", @@ -2172,7 +2180,7 @@ "\n", "```{figure} /images/method.png\n", "---\n", - "scale: 30%\n", + "scale: 35%\n", "name: fig:3-method\n", "---\n", "関数とメソッドの違い\n", @@ -2182,6 +2190,7 @@ { "cell_type": "markdown", "metadata": { + "heading_collapsed": true, "tags": [ "remove-cell" ] @@ -2192,7 +2201,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hidden": true + }, "source": [ "(sec:3-scope)=\n", "## スコープ" @@ -2200,14 +2211,19 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "heading_collapsed": true, + "hidden": true + }, "source": [ "### 説明" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hidden": true + }, "source": [ "スコープとは、変数が所属し直接アクセスできるコードの中の「領域」を示す。類似する概念に名前空間(Namespace)もあるが、スコープの情報を記す「表」のことであり、スコープ(Scope)と同義と理解すれば良い。\n", "\n", @@ -2226,7 +2242,9 @@ { "cell_type": "code", "execution_count": 57, - "metadata": {}, + "metadata": { + "hidden": true + }, "outputs": [ { "data": { @@ -2251,7 +2269,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hidden": true + }, "source": [ "この関数を実行すると、Pythonはまず関数`scope_0`のローカル・スコープ内で変数`s`を探すことになる。ローカル・スコープに`s`があるので、それを返している。次の関数を考えよう。" ] @@ -2259,7 +2279,9 @@ { "cell_type": "code", "execution_count": 58, - "metadata": {}, + "metadata": { + "hidden": true + }, "outputs": [ { "data": { @@ -2281,7 +2303,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hidden": true + }, "source": [ "この例では、まず`Python`はローカル・スコープに`s`があるかを確かめる。ローカル・スコープにないため、次にグローバル・スコープに`s`がないかを確かめている。グローバル・スコープに`s`があったので、それを返している(ないとエラーが出る)。\n", "\n", @@ -2291,7 +2315,9 @@ { "cell_type": "code", "execution_count": 59, - "metadata": {}, + "metadata": { + "hidden": true + }, "outputs": [ { "data": { @@ -2314,7 +2340,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hidden": true + }, "source": [ "`s_local`は関数`scope_2`のローカル・スコープで定義されている。グローバル・スコープからアクセスしようとするとエラーが発生する。" ] @@ -2323,6 +2351,7 @@ "cell_type": "code", "execution_count": 60, "metadata": { + "hidden": true, "tags": [ "raises-exception" ] @@ -2346,13 +2375,15 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hidden": true + }, "source": [ "以上の説明を図{numref}`fig:3-scope`にまとめる次のようになる。\n", "\n", "```{figure} /images/scope.png\n", "---\n", - "scale: 20%\n", + "scale: 35%\n", "name: fig:3-scope\n", "---\n", "グローバル・スコープとローカル・スコープの関係\n", @@ -2362,7 +2393,8 @@ { "cell_type": "markdown", "metadata": { - "heading_collapsed": true + "heading_collapsed": true, + "hidden": true }, "source": [ "### 教訓1" @@ -2550,14 +2582,18 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hidden": true + }, "source": [ "### 教訓2" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hidden": true + }, "source": [ "> `for`ループの1行目に使う変数は再割り当てされても構わない変数を使おう。\n", "\n", @@ -2569,7 +2605,9 @@ { "cell_type": "code", "execution_count": 67, - "metadata": {}, + "metadata": { + "hidden": true + }, "outputs": [ { "name": "stdout", @@ -2590,7 +2628,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hidden": true + }, "source": [ "この`for`ループの`i`は`range(5)`の連番`0`、`1`、`2`、`3`、`4`を指す変数として使われるが、グローバル・スコープの変数として存在し、ループの最後の値が割り当てられている。確認してみよう。" ] @@ -2598,7 +2638,9 @@ { "cell_type": "code", "execution_count": 68, - "metadata": {}, + "metadata": { + "hidden": true + }, "outputs": [ { "data": { @@ -2617,7 +2659,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "hidden": true + }, "source": [ "`for`ループで使う変数は、ループ用の変数を使うようにしよう。" ]