Python의 여러 파일에서 전역 변수 사용

Naila Saad Siddiqui 2023년10월10일
  1. Python의 전역 변수
  2. Python의 여러 파일에서 전역 변수 사용
Python의 여러 파일에서 전역 변수 사용

이 간단한 안내서는 Python의 여러 파일에서 전역 변수를 사용하는 방법에 관한 것입니다. 그러나 주요 주제로 이동하기 전에 전역 변수와 여러 파일에서의 용도를 간략하게 살펴보겠습니다.

Python의 전역 변수

전역 변수는 함수 범위의 일부가 아니며 프로그램 전체에서 전역적으로 사용할 수 있는 변수입니다. 이는 전역 변수가 함수 본문 내부 또는 외부에서도 사용될 수 있음을 나타냅니다.

예를 살펴보겠습니다.

x = "my global var"


def fun1():
    print("Inside fun1(): ", x)


fun1()
print("In global context: ", x)

이 코드에서 전역 변수 x를 정의하고 값을 할당했습니다. 그런 다음 두 범위의 값을 보기 위해 함수 내부와 외부에 x 변수를 인쇄했습니다.

출력:

Python 전역 변수 - 출력

출력은 변수의 값이 함수 내부와 외부에서 동일함을 나타냅니다. 함수에서와 같이 일부 로컬 범위에서 전역 변수의 값을 변경해야 하는 경우 변수를 선언할 때 global 키워드를 사용해야 합니다.

Python의 여러 파일에서 전역 변수 사용

프로그램에 여러 파일을 사용 중이고 이러한 파일이 변수를 업데이트해야 하는 경우 다음과 같이 global 키워드로 변수를 선언해야 합니다.

global x
x = "My global var"

여러 Python 코드 파일과 학생 목록의 전역 변수를 처리해야 하는 예제 시나리오를 고려하십시오. resource.py 파일에는 학생의 전체 목록이 있고 prog.py에는 이 전체 목록에 학생을 추가하는 방법이 있습니다.

다음 코드를 사용하여 개념을 실현할 수 있습니다.

코드- resource.py:

def initialize():
    global students
    students = []

코드- prog.py:

import resource


def addStudent():
    resource.students.append("John")
    resource.students.append("Dave")

코드- Main.py:

import resource
import prog

resource.initialize()
prog.addStudent()
print(resource.students[0])
print(resource.students[1])

첫 번째 resource.py 파일에서 studentList 목록을 선언하고 빈 목록으로 초기화하는 함수를 정의했습니다. 다음 파일(예: prog.py)에서 resource 모듈을 포함하고 addStudent 함수를 정의했습니다. 여기서 전역 목록 studentList에 두 개체를 추가했습니다.

메인 파일인 Main.py에는 resourceprog 모듈이 모두 포함되어 있습니다. 나중에 두 모듈의 initializeaddStudent 기능을 각각 호출했습니다.

그런 다음 목록 인덱스를 인쇄했을 때 다음과 같은 결과를 얻었습니다.

파일 간 Python 전역 변수 - 출력

따라서 global 키워드를 사용하여 다른 파일에서 사용할 Python 파일의 전역 변수를 정의할 수 있습니다. 이제 다른 파일에 있는 파일의 전역 변수에 액세스하려면 전역 변수가 있는 파일을 다른 파일의 모듈로 가져오고 추가 복잡성 없이 가져온 모듈의 전역 변수에 직접 액세스합니다.

관련 문장 - Python Scope