- # Python入門 > 関数定義・ファンクション
変数のスコープ/グローバル変数とローカル変数
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
Pythonの変数スコープ
Pythonの場合も、他の多くの言語と同様に、関数に引数として渡される変数は、ローカル変数として、関数内のみのローカルスコープに限り有効です。
スポンサーリンク
この実験のために、次のようなコードを書いてみます。
def scope_python(n): n *= 2 return n n = 5 print scope_python(n) print n
定義した関数、scope_python(n)には、引数としてnが渡されます。
関数内で、nの値を2倍してreturnしていますが、関数の外側(グローバルスコープ)では、nの値は変更されません。
上記スクリプトの実行結果。
10 5
PHPやJavaScriptでも同様です。
同じ処理の関数を定義して、実験してみます。
PHPの変数スコープ
<?php function scope_php($n) { $n *= 2; return $n; } $n = 5; echo scope_php($n) . "<br>"; echo $n; ?>
実行結果。
"; echo $n; ?>
JavaScriptの変数スコープ
<script tyep="text/javascript"> function scope_js(n) { n *= 2; return n; } n = 5; document.write(scope_js(n) + "<br>"); document.write(n); </script>
PHP、JavaScriptのいずれの場合でも、関数内で変数の値が変更されたとしても、関数の外側(グローバルスコープ)の変数の値は変更されていません。
スポンサーリンク
>> 次の記事 : 関数内からグローバルスコープの変数にアクセスする
<< 前の記事 : 関数で複数の値をreturnする
- - 関連記事 -
- 関数の引数にリストを渡した場合
- 関数内からグローバルスコープの変数にアクセスする
- 関数で複数の値をreturnする
- 関数引数のデフォルト値の指定、キーワード引数での関数呼び出し
- 関数定義・ファンクションの書き方
スポンサーリンク