ローカル変数とグローバル変数
メイン プログラムに導入される変数はグローバル (または共有) と呼ばれます。
グローバル変数にはどのサブルーチンからでもアクセスできます。
多くの場合、サブルーチン内でのみ使用される追加の変数を導入する必要があります。このような変数は
ローカル (またはローカル) と呼ばれます。それらを作成したサブルーチン内でのみそれらを操作できます。残りのルーチンはそれらについて何も「認識」しません
。
したがって、変数の有効範囲 (スコープ) を、それが本当に必要なサブルーチンのみに制限することができます。プログラミングでは、この技術は
カプセル化と呼ばれます。 - 変数が外部から変更されないように隠します。
3 つのプログラムを分析します。
<頭>
説明 |
プログラム |
<本体>
1) このプログラムでは、変数 i はローカルです。メイン プログラムに i 変数がない場合、エラー メッセージが表示されます。そして、そのような変数がある場合 (その場合、それはグローバル変数です)、その値が画面に表示されます。 |
<プレ>
デフォルトテスト():
print(i)
|
2) ここでは、グローバル変数 i が存在する場合でも、新しいローカル変数 i が値 2 で作成され、画面上に 2 が表示されます。画面。 |
<プレ>
デフォルトテスト():
i = 2
print(i)
|
3) このプログラムには、値 15 のグローバル変数 i があります。その値はサブルーチン内で変更できます。そのためには、それがグローバルであることを明示的に宣言する必要があります (コマンド global を使用します)。
このプロシージャはグローバル変数 i で動作し、新しい値 2 が割り当てられます。値 2 が表示されます。 |
<プレ>
デフォルトテスト():
グローバル i
i = 2
# メインプログラム
i = 15
印刷(i)
プレ>
|
表>
Problem
高さ
n
の冠を持つクリスマス ツリーを出力する
n
パラメータを持つプロシージャを記述します。 メイン プログラムには、
の値の入力が含まれている必要があります。 n
変数と手続き呼び出し.< br />
例
<頭>
# |
入力 |
出力 |
<本体>
1 |
5 |
<プレ>
o
うーん
うおー
おおおお
うおおおおおおおおお
|
表>