ホームページ >バックエンド開発 >Python チュートリアル >Python のグローバル変数とローカル変数を理解する
Pythonのグローバル変数とローカル変数を理解する
1. 定義された関数内の変数名が初めて出現し、= 記号の前にある場合、それはローカル変数として定義されていると見なされます。この場合、グローバル変数で変数名が使用されているかどうかに関係なく、関数内ではローカル変数が使用されます。例:
# _*_ coding: utf-8 _*_ num = 110 def func(): num = 1 print(num) func() 输出结果:1
# _*_ coding: utf-8 _*_ num = 110 def func(): num += 1 print(num) func() 输出结果:
UnboundLocalError: 割り当て前にローカル変数 'num' が参照されました
エラー メッセージ: ローカル変数 num は割り当て前に適用されます。つまり、変数を定義せずに使用されます。これは、ローカル変数がグローバル番号を使用する代わりに、ここで定義されています。
まとめ: 関数内の変数名が初めて出現し、= より前に出現した場合、それはローカル変数を定義しているとみなされます。
2. 関数内の変数名が初めて出現し、= 以降に出現し、その変数がグローバル ドメインで定義されている場合、その変数がグローバル ドメインで定義されていない場合は、ここでグローバル変数が参照されます。 「変数が定義されていません」エラーが発生します。例:
# _*_ coding: utf-8 _*_ num = 110 def func(): num1 = num + 1 print(num1) func() 输出结果: 111 3、函数中使用某个变量时,该变量名既有全局变量也有同名的局部变量,则会使用局部变量,例如:
# _*_ coding: utf-8 _*_ num = 110 def func(): num = 200 num1 = num + 1 print(num1) func() 输出结果: 201
4、在函数中,如果想给全局变量赋值,则需要用关键字global声明,例如:
# _*_ coding: utf-8 _*_ num = 100 def func(): num = 300 num1 = num + 1 print(num1) func() print num 输出结果:
301<br>100
は、次の番号を宣言します:
# _*_ coding: utf-8 _*_ num = 100 def func(): global num num = 300 num1 = num + 1 print(num1) func() print num
输出结果:
301<br>300
from:
<br>
以上がPython のグローバル変数とローカル変数を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。