⊗pyPmFnSN 4 of 129 menu

Pythonにおけるスコープの扱いのニュアンス

ローカル変数とグローバル変数を扱う上での重要なニュアンスについて考察します。

グローバル変数 num があるとします。 グローバルな num をコンソールに出力する関数 func を作成してみましょう。

num = 1 def func(): print(num) func() # 1を出力します

では、関数 print の次の行にローカルな num を宣言してみましょう。 コードを実行すると、コンソールにエラーが出力されます。 これは、Pythonが関数内で num をまだ宣言されていないローカル変数としてのみ認識するためです。

num = 1 def func(): print(num) # エラーを出力します num = 2

では、関数内のコードを書き換えて、変数 num の値が 2 増えるようにしてみましょう。

num = 1 def func(): num += 2 # エラーを出力します

このエラーは、式 num += 2 が次の記述を表しているために発生します。

num = num + 2

しかし、加算しようとしているローカル変数自体はまだ宣言されていません。 したがって、存在しない値に数値を加算することはできないため、Pythonはエラーを出力します。

次のコードを実行した結果はどうなりますか。

tst = '12' def func(): tst = 12 return tst print(tst)

次のコードを実行した結果はどうなりますか。

tst = 'abc' def func(): tst = tst.upper() return tst func() print(tst)

次のコードを実行した結果はどうなりますか。

tst = 'abc' def func(): txt = tst.upper() return txt print(func()) print(tst)
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否