>백엔드 개발 >파이썬 튜토리얼 >Python의 전역 변수와 지역 변수 이해

Python의 전역 변수와 지역 변수 이해

PHP中文网
PHP中文网원래의
2017-06-20 15:52:011584검색

파이썬의 전역변수와 지역변수를 이해하세요

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.