파이썬의 전역변수와 지역변수를 이해하세요
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
은 num:
# _*_ 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!