산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

파이썬 전역 키워드

파이썬 글로벌 키워드

이 기사에서는 전역 키워드, 전역 변수 및 전역 키워드를 사용해야 하는 경우에 대해 알아봅니다.

이 기사를 읽기 전에 Python 전역, 지역 및 비지역 변수에 대한 몇 가지 기본 사항을 알고 있는지 확인하십시오.

<시간>

글로벌 키워드란 무엇입니까

파이썬에서는 global 키워드를 사용하면 현재 범위 외부에서 변수를 수정할 수 있습니다. 전역 변수를 생성하고 로컬 컨텍스트에서 변수를 변경하는 데 사용됩니다.

<시간>

글로벌 키워드 규칙

global의 기본 규칙 Python의 키워드는 다음과 같습니다.

<시간>

글로벌 키워드 사용

예를 들어보겠습니다.

예제 1:함수 내부에서 전역 변수 액세스

c = 1 # global variable

def add():
    print(c)

add()

위의 프로그램을 실행하면 다음과 같이 출력됩니다.

1

그러나 함수 내부에서 전역 변수를 수정해야 하는 몇 가지 시나리오가 있을 수 있습니다.

<시간>

예제 2:함수 내부에서 전역 변수 수정

c = 1 # global variable
    
def add():
    c = c + 2 # increment c by 2
    print(c)

add()

위의 프로그램을 실행하면 출력에 오류가 표시됩니다.

UnboundLocalError: local variable 'c' referenced before assignment

이는 전역 변수에만 액세스할 수 있고 함수 내부에서 수정할 수 없기 때문입니다.

이에 대한 해결책은 global을 사용하는 것입니다. 키워드.

<시간>

예제 3:전역을 사용하여 함수 내부에서 전역 변수 변경

c = 0 # global variable

def add():
    global c
    c = c + 2 # increment by 2
    print("Inside add():", c)

add()
print("In main:", c)

위의 프로그램을 실행하면 다음과 같이 출력됩니다.

Inside add(): 2
In main: 2

위의 프로그램에서 c를 정의합니다. add() 내부의 전역 키워드로 기능.

그런 다음 변수 c를 증가시킵니다. 2까지 , 즉 c = c + 2 . 그런 다음 add()을 호출합니다. 기능. 마지막으로 전역 변수 c를 출력합니다. .

보시다시피 c = 2 함수 외부의 전역 변수에도 변경이 발생했습니다. .

<시간>

파이썬 모듈의 전역 변수

Python에서는 단일 모듈 config.py을 만듭니다. 전역 변수를 보유하고 동일한 프로그램 내에서 Python 모듈 간에 정보를 공유합니다.

다음은 파이썬 모듈에서 전역 변수를 공유하는 방법입니다.

예제 4:Python 모듈 간에 전역 변수 공유

config.py 생성 파일, 전역 변수 저장

a = 0
b = "empty"

update.py 생성 파일, 전역 변수 변경

import config

config.a = 10
config.b = "alphabet"

main.py 생성 파일, 값 변경 테스트

import config
import update

print(config.a)
print(config.b)

main.py을 실행할 때 파일, 출력은

10
alphabet

위에서 config.py 세 개의 파일을 만들었습니다. , update.py , 및 main.py .

모듈 config.py a의 전역 변수를 저장합니다. 및 b . update.py에서 파일에서 config.py을 가져옵니다. 모듈 및 a 값 수정 및 b . 마찬가지로 main.py에서 파일에서 config.py을 모두 가져옵니다. 및 update.py 기준 치수. 마지막으로 전역 변수의 값이 변경되었는지 여부를 인쇄하고 테스트합니다.

<시간>

중첩 함수의 전역

중첩 함수에서 전역 변수를 사용하는 방법은 다음과 같습니다.

예제 5:중첩 함수에서 전역 변수 사용

def foo():
    x = 20

    def bar():
        global x
        x = 25
    
    print("Before calling bar: ", x)
    print("Calling bar now")
    bar()
    print("After calling bar: ", x)

foo()
print("x in main: ", x)

출력은 다음과 같습니다.

Before calling bar: 20
Calling bar now
After calling bar: 20
x in main: 25

위의 프로그램에서 중첩 함수 bar() 안에 전역 변수를 선언했습니다. . foo() 내부 함수, x global 키워드에는 영향을 미치지 않습니다.

bar() 호출 전후 , 변수 x 지역 변수의 값을 취합니다. 즉, x = 20 . foo() 외부 함수, 변수 x bar()에 정의된 값을 사용합니다. 함수 즉 x = 25 . global를 사용했기 때문입니다. x의 키워드 bar() 내부에 전역 변수를 생성하려면 기능(로컬 범위).

bar() 내부에서 변경하면 함수에서 변경 사항은 로컬 범위 밖에 나타납니다(예:foo()). .


python

  1. 파이썬 데이터 유형
  2. 파이썬 연산자
  3. 파이썬 통과 문
  4. 파이썬 함수 인수
  5. Python 전역, 지역 및 비지역 변수
  6. 파이썬 사전
  7. 파이썬 반복자
  8. 파이썬 클로저
  9. 파이썬 날짜 시간
  10. 파이썬 - 개요