2になっているのです。24.関数の引数のディフォルト値の変数指定は原則から外れる「変数はその変数が実際に使用されるまでに定義されればよい」というのが原則ですが、実は例外が存在します。それは、関数の引数のディフォルト値を変数で指定するときです。コード09は関数xxx()の引数xのディフォルト値を変数aで指定しています。したがって、関数xxx()を定義している3行目までに変数aを定義する必要があります。xxx()コード10のように、関数を実行する前に変数aの定義を行ったとしても、エラーになります。関数の引数のディフォルト値を変数で指定するときだけは、「変数はその変数が実際に使用されるまでに定義されればよい」というのが原則から外れ、「関数の定義を行うまでに変数を定義する必要がある」となります。defined関数の引数のディフォルト値について分かりにくい方は、以下の記事も参考にしてみてください。関数も変数と同じく実際に関数が実行されるまでに定義されていればよく、コード11のようにyyy()のあとにxxx()があっても、9行目でyyy()が実行されるときには5~6行目で関数xxx()の定義が終了しているので問題ありません。1yyy()コード12は関数yyy()の定義5~6行目の前に、3行目で関数yyy()を呼び出した例です。関数呼び出し時に関数が定義されていないのでエラーになります。a)入れ子構造の関数の場合でも同じです。コード13は問題ありませんが、コード14はエラーになります。=',a)yyy()6.関数内の変数のスコープは関数の定義時に決定する関数内の変数がグローバル変数なのか、ローカル変数なのかは関数の実行時ではなく、関数の定義時に決定します。2とありますので、yyy()のaはローカル変数となります。したがって、yyy()の中にある関数xxx()の変数aは、関数yyy()のローカル変数を参照することになります。これは、yyy()の定義時に確定します。1をxxx()から参照することはありません。5行目のxxx()よりも後に定義されているので、xxx()実行時にaの値は定義されていないことになり、コード15はエラーになります。1yyy()コード15は、コード16のようにすればエラーになりません。1yyy()コード15がエラーになる理由がわかりにくい方は、以下の記事を参考にしてください。assignment数や変数の定義位置について、なんとなく理解したつもりになっていた人もいたのではないでしょうか。この機会に定義位置についての考え方を整理してみては、いかがでしょうか。June関連記事PythonPython♪基本:変数の型宣言は?数学の文字式・方程式との違いは?ゆうちゃんと変数の勉強です。変数って、さらっと流すこともできるけれど、重要ですよね。わかっておいて欲しいことがたくさんあります。ここでは「変数の型宣言」「数学との違い」について勉強します。print()ゆうちゃん(中1)との勉強会。変数は覚えたので、次は型変換と簡単な入出力「input()」,「print()」をやってみます。ここまでやれば、やっと、プログラムっぽくなってくるね。type()でデータ型を確認したり、計算した結果を文字列...PythonPython♪基本:if文を使って「もしも~だったら」いよいよ、中学生のゆうちゃんとの勉強会もif文に突入しました。if文は状況によって命令の内容を変化させる命令文です。2つのデータを比較して、どちらが大きいかによって、その後の命令を変化させます。命令文の形はシンプルなので、「習うよ...PythonPython♪基本:変数の数値の変更とパソコン内での参照先アドレス。中1のゆうちゃんに、どこまで説明するか迷ったけれど、変数への値の代入とパソコン内での参照先アドレスについて説明することにしました。コンピューターのメモリー上でのデータの扱いを、ほとんど意識しなくてもよい言語もあります。私はPyrho...Pythonpython♪基本:「クラス」って必要?def関数でいいんじゃない?そもそも、「クラス」って、なんのためにあるのでしょう。python関連の書籍では、「設計図」と表現されることが多いですが「???」です。「設計図」という表現はクラスの機能をうまく例えていますが、クラスを使う優位性はわかりません。そこで、こ...PythonPython♪NumPyの「参照渡し」と「コピー」を覚えよう。リストの「参照渡し」「浅いコピー」「深いコピー」とNumPyの配列の「参照渡し」「コピー」とは、コンピューターの内部でのメモリーの扱いも実行のしかたも全然違います。これを混同してしまうと大変なことになります。Studioが遅いときの対策2020.01.11Kotlin♪環境設定「HAXMがインストールされていません」2020.01.052020.01.08Python♪FEM:部材座標系の要素剛性マトリクス2020.01.04Kotlin♪スマホアプリの言語は、Kotlin、Java、C#、Dart?2020.01.012020.01.13スポンサーリンクスポンサーリンク。