파이썬의 전역 변수 범위 이해

Understand Global Variables Scope Python



대부분의 프로그래밍 언어에서는 두 가지 유형의 변수를 정의할 수 있습니다. 전역변수와 지역변수입니다. 함수 외부에 정의된 변수를 전역 변수라고 합니다. 이 변수는 스크립트의 어디에서나 액세스하고 변경할 수 있습니다. 함수 내부에 선언된 변수를 지역 변수라고 합니다. 그러나 동일한 변수 이름이 전역 및 지역 변수로 존재하는 경우 함수 내부의 변수가 우선 순위를 가지며 전역 변수의 값은 무시됩니다. 파이썬 스크립트에서 전역 변수의 범위는 다양한 예제를 사용하여 이 튜토리얼에서 보여줍니다.

예-1: 전역 변수의 간단한 사용

다음 예제는 함수 내부와 함수 외부에서 전역 변수의 간단한 사용을 보여줍니다. 여기에서 라는 전역 변수는 텍스트 문자열 데이터를 할당하는 데 사용됩니다. 이름이 지정된 사용자 정의 함수 인쇄 메시지() 전역 변수의 값을 인쇄하도록 정의됩니다. 의 가치 텍스트 변수는 값을 변경한 후 함수 내부와 함수 외부에 인쇄됩니다.







#!/usr/bin/env python3

# 전역 변수 정의
텍스트= 'LinuxHint에 오신 것을 환영합니다'

# 함수 정의
데프인쇄 메시지():

# 함수에서 전역 변수를 인쇄합니다.
인쇄('함수 내부 전역 변수:N',텍스트)

# 함수 호출
인쇄 메시지()

# 전역 변수 값 변경
텍스트= '파이썬 프로그래밍 배우기'

# 전역변수의 현재 값을 출력
인쇄('함수 외부 전역 변수:N',텍스트)

산출:



스크립트를 실행하면 다음 출력이 나타납니다. ' 값을 출력했습니다. LinuxHint에 오신 것을 환영합니다' 함수를 호출하기 전에 변수에 할당됩니다. 다음으로 값을 인쇄했습니다. '파이썬 프로그래밍 배우기' 변수의 값을 변경한 후.







예-2: 같은 이름의 전역 변수와 지역 변수 사용

파이썬에서 이미 전역 변수로 선언된 함수 내부에 변수 이름을 선언하고 변수를 사용하려는 경우 변수를 지역 변수로 취급하여 오류를 생성합니다. 다음 스크립트는 오류를 표시합니다. 여기, 텍스트 변수는 전역 및 지역 변수로 정의됩니다.

#!/usr/bin/env python3

# 전역 변수 정의
텍스트= '나는 파이썬을 좋아해'

# 함수 정의
데프인쇄 메시지():
인쇄(텍스트)

텍스트= '나는 PHP를 좋아한다'

# 함수 호출
인쇄 메시지()

산출:



스크립트를 실행하면 다음 출력이 나타납니다.

위의 상황을 피하고 전역 변수와 같은 이름으로 지역 변수를 선언하려면 먼저 함수 내부에 지역 변수를 할당해야 합니다. 다음 스크립트는 로컬 변수의 변경 사항이 전역 변수의 변경 사항을 만들지 않음을 보여줍니다. 텍스트 변수는 여기에서 함수 내부와 외부에 인쇄됩니다.

#!/usr/bin/env python3

# 전역 변수 정의
텍스트= '나는 파이썬을 좋아해'

# 함수 정의
데프인쇄 메시지():
# 지역 값 정의
텍스트= '나는 PHP를 좋아한다'
# 지역 변수, 텍스트를 출력
인쇄('함수 내부의 '텍스트' 값:N',텍스트)

# 함수 호출
인쇄 메시지()

# 전역 변수 텍스트를 인쇄합니다.
인쇄(함수 외부의 '텍스트' 값:N',텍스트)

산출:

스크립트를 실행하면 다음 출력이 나타납니다.

예-3: 함수 내 전역 변수 사용

이전 예제는 전역 변수가 함수 내에서 액세스할 수 없음을 보여줍니다. 당신이 사용할 수있는 글로벌 모든 함수에서 전역 변수에 액세스하는 키워드입니다. 다음 스크립트에서 cal_percentage() 함수는 전역 및 지역 변수가 모두 사용되는 숫자의 백분율을 계산하도록 정의됩니다. 여기, 하나에 는 전역 변수이고 perVal 지역변수이다. 글로벌 여기서 키워드는 함수 내부의 전역 변수를 식별하는 데 사용되며 전역 변수의 값은 함수 내부에서 변경됩니다.

#!/usr/bin/env python3

# 정수 값을 취합니다.
하나에= 정수(입력('숫자 입력 : '))

# 함수 정의
데프cal_percentage():
# 전역 키워드를 사용하여 전역 변수 인식
글로벌하나에

# 정수 값을 백분율로 사용
perVal= 정수(입력('백분율 값 입력: '))

# 백분율 값 계산
결과= 뜨다((*perVal 여부)/100)

# 형식이 지정된 결과를 인쇄합니다.
인쇄('%d의 %d 백분율 = %f'%(perVal,하나에,결과))

# 전역 변수 값 변경
하나에= 500

# 함수를 호출하기 전에 전역 변수의 값을 출력합니다.
인쇄('N숫자 값 = %d'하나에 %)

# 함수 호출
cal_percentage()

# 함수 호출 후 전역 변수 값 출력
인쇄('N숫자 값 = %d'하나에 %)

산출:

스크립트를 실행하면 다음 출력이 나타납니다. 여기서는 350의 10%를 계산하여 출력합니다.

예-4: 다른 스크립트의 전역 변수 사용

다음 예제는 한 스크립트에서 선언된 전역 변수가 다른 스크립트에서 어떻게 사용될 수 있는지 보여줍니다. 파일 이름이 글로벌6.py 이름이 지정된 파일에 정의된 전역 변수를 사용합니다. 글로벌5.py . 세 개의 전역 변수는 다음에서 선언됩니다. 글로벌5.py . 수입하셔야 합니다 글로벌5 다른 스크립트에서 변수를 사용합니다. 의 스크립트 글로벌6.py 입력 값과 전역 변수를 기반으로 세 가지 유형의 직원 급여를 계산합니다.

#!/usr/bin/env python3
# 이것은 global5.py 파일입니다.

# 회사의 기본 급여 구조
기초적인= 5000
의료= 500
수송= 500 #!/usr/bin/env python3
# 이것은 global6.py 파일입니다.

# global5.py에서 전역 변수 가져오기
수입글로벌5

# 직원 이름 가져오기
이름= 입력('직원 이름 입력: ')
# 게시물 이름 가져오기
우편= 입력('게시물 입력: ')

# 오류 변수 초기화
오류= 거짓

# 게시물 확인 후 게시물 기준으로 기본급 설정
만약(우편.높은() == '최고 경영자'):
기초적인=글로벌5.기초적인+(글로벌5.기초적인*0.4)
엘리프(우편.높은() == '관리자'):
기초적인=글로벌5.기초적인+(글로벌5.기초적인*0.25)
엘리프(우편.높은() == '회계사'):
기초적인=글로벌5.기초적인+(글로벌5.기초적인*0.15)
또 다른:
# 게시물 값을 찾을 수 없으면 오류를 true로 설정
오류= 진실

# error가 false이면 급여를 출력
만약 (오류== 거짓):
샐러리=기본 + 글로벌5.의료+ 글로벌5.수송
인쇄('%s의 급여는 %d입니다'%(이름,샐러리))
또 다른:
인쇄('글을 찾을 수 없습니다')

산출:

스크립트를 실행하면 다음 출력이 나타납니다. 여기에서 스크립트는 유효한 게시물과 잘못된 게시물로 두 번 실행됩니다.

결론:

파이썬에서 전역 변수의 개념은 새로운 파이썬 사용자를 위한 다양한 간단한 예제와 함께 이 튜토리얼에서 설명됩니다. 독자들이 이 튜토리얼을 읽은 후 전역 변수와 지역 변수에 대한 적절한 지식을 얻을 수 있기를 바랍니다.

작가의 비디오 보기: 여기