- # Python入門 > 関数定義・ファンクション
関数内からグローバルスコープの変数にアクセスする
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
Pythonの変数スコープについて、前述しましたが、関数内からグローバルスコープの変数にアクセスする手段も、PHP同様に用意してあります。
書き方は、PHPなど他言語と同じように、global宣言を用います。
スポンサーリンク
def scope_python(a): global n n = a * 2 return n n = 5 print scope_python(n) print n
上記コードでは、関数scope_python(a)の中で、「global n」とglobal宣言することで、グローバルスコープの変数にアクセスしています。
これにより、グローバル変数nを関数内で直接扱え、変更可能となります。
「global n」の宣言により、グローバル変数のnを関数内で取り扱う、と考えれば良いです。
実行結果。
10 10
このあたりも、PHPと同じですので、分かりやすいです。
ただし、関数内でグローバル変数を変更する書き方は、あまり好ましいコードではありません。
グローバル変数とローカル変数がごちゃごちゃになると、スパゲッティになりやすいですので、フレームワークなどでは、グローバル変数の利用を最小限に抑えるように設計されてあります。
スポンサーリンク
>> 次の記事 : 関数の引数にリストを渡した場合
<< 前の記事 : 変数のスコープ/グローバル変数とローカル変数
- - 関連記事 -
- 関数の引数にリストを渡した場合
- 変数のスコープ/グローバル変数とローカル変数
- 関数で複数の値をreturnする
- 関数引数のデフォルト値の指定、キーワード引数での関数呼び出し
- 関数定義・ファンクションの書き方
スポンサーリンク