- # 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する
- 関数引数のデフォルト値の指定、キーワード引数での関数呼び出し
- 関数定義・ファンクションの書き方
スポンサーリンク