ログアウト中 ログイン

学習パッケージを選択

Pythonマスター講座 第6章6.4節「変数スコープと名前解決」




現在の見出し:6.4節:変数スコープと名前解決

見出し一覧

  • 6.4節:変数スコープと名前解決
  • - Pythonのスコープとは
  • - スコープの操作
  • - 6.4節の演習問題

【PR】『Python』を学べる企業・個人向けのプログラミングコース

Pythonマスター講座第6章 6.4節で学べること

Pythonのスコープとは

スコープとは、プログラムプログラムはコンピュータに対して何をすべきかを指示する一連の命令です。内で変数変数はデータを一時的に記憶しておく場所です。が参照できる範囲のことで、定義した場所によって「変数がアクセスできる範囲」が決まります。

ローカルスコープ

ローカルスコープとは、関数関数は一定の処理をまとめたプログラムの塊です。の内部で定義された変数が使用できる範囲のことです。関数内で作成された変数は、その関数の中でだけ参照でき、関数の外部からはアクセスできません。

例えば、関数内でx = 10と書くと、このxはその関数内でのみ使用できます。関数の処理が終わるとこの変数は消えるため、他の関数で同じ変数名を使っても、それぞれ別の変数として扱われます。

def function_a():
    x = 10
    print("関数A内のx:", x)

def function_b():
    x = 20
    print("関数B内のx:", x)

function_a()
function_b()
関数A内のx: 10
関数B内のx: 20
行数 コード 解説
1行目 def function_a(): function_aという名前の関数を定義
2行目 x = 10 function_a内でローカル変数ローカル変数はプログラミングで特定のブロックやメソッド内でのみ有効な変数で、スコープを抜けると自動的に破棄されます。xに10を代入代入は変数に値を割り当てる操作です。
3行目 print("関数A内のx:", x) function_a内のローカル変数xの値を表示
5行目 def function_b(): function_bという名前の関数を定義
6行目 x = 20 function_b内でローカル変数xに20を代入(function_aのxとは別の変数)
7行目 print("関数B内のx:", x) function_b内のローカル変数xの値を表示
9行目 function_a() function_aを呼び出し、その中のローカル変数xが使用される
10行目 function_b() function_bを呼び出し、その中のローカル変数xが使用される
  • ローカル変数:関数やブロック内で定義され、その範囲内でのみ使える変数。外からはアクセスできない

グローバルスコープ

グローバルスコープとは、プログラム全体で参照できる変数の範囲のことです。関数の外部で定義された変数は、そのプログラム内のどこからでもアクセスできます。

関数の外側で変数名 = 値と書くことで、グローバル変数を作成できます。例えば、name = "太郎"と書くと、すべての関数からこの変数を使えます。関数内でグローバル変数の値を読むことは自由にできますが、値を変更するときはglobal 変数名という宣言が必要です。

グローバル変数を使うと、複数の関数でデータを共有できて便利ですが、多用するとプログラムが複雑になります。どこで値が変更されるかが分かりにくくなるため、必要最小限の使用に留めることが大切です。

# グローバル変数を定義
name = "太郎"

def show_name():
    print("名前:", name)

def greet():
    print(f"こんにちは、{name}さん!")

show_name()
greet()
名前: 太郎
こんにちは、太郎さん!
行数 コード 解説
2行目 name = "太郎" 関数の外でグローバル変数nameを定義
4行目 def show_name(): 名前を表示する関数を定義
5行目 print("名前:", name) 関数内からグローバル変数nameの値を読み込んで表示
7行目 def greet(): 挨拶をする関数を定義
8行目 print(f"こんにちは、{name}さん!") 関数内からグローバル変数nameを読み込んでf文字列文字列は文字の並びを表現するデータ型で、テキストデータを扱うための基本的な構造として広く使用されています。で表示
10行目 show_name() show_name関数を呼び出し
11行目 greet() greet関数を呼び出し
スコープの操作

第6章6.4節「スコープの操作」の続きを見る


すべてのカリキュラムを無料登録で学ぶ

プログラミング・マーケティング・AI活用方法を
今すぐ無料登録すると、全てのコンテンツが視聴可能になります。