Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 전역 및 지역 변수 가이드

변수는 프로그래밍에서 중요하고 보편적인 개념입니다. 변수는 데이터를 저장하기 위한 컨테이너입니다. 변수는 사용자의 온라인 게임 인벤토리에 있는 사용자 이름, 이메일 주소 및 항목을 포함하여 다양한 유형의 데이터를 저장할 수 있습니다.

Python으로 프로그래밍할 때 전역 및 지역이라는 두 가지 유형의 변수를 접하게 됩니다. 이 가이드에서는 이러한 두 가지 변수 유형의 차이점, 작동 방식 및 코드에서 사용하는 방법에 대해 설명합니다.

파이썬 변수

Python에서 변수를 사용하면 기본적으로 데이터에 레이블을 지정하고 저장할 수 있습니다. 변수를 정의할 때 이름을 지정합니다. 그런 다음 나중에 코드에서 해당 이름을 사용하여 해당 이름이 나타내는 데이터를 검색할 수 있습니다. 변수는 문자열, 숫자, 목록 또는 기타 데이터 유형을 저장할 수 있습니다.

게임을 만들고 사용자 이름을 저장하려고 한다고 가정해 보겠습니다. 프로그램 전체에 이름을 입력하는 대신 변수를 사용하여 저장할 수 있습니다.

다음은 게임의 사용자 이름을 저장하는 변수입니다.

name = "Carlton Hernandez"

name이라는 변수를 선언했습니다. "Carlton Hernandez"라는 값을 할당했습니다.

이제 해당 변수를 선언했으므로 코드에서 이를 조작할 수 있습니다. 예를 들어 사용자 이름을 변경하려면 다음 코드를 사용하면 됩니다.

name = "Carlton Hernandez"
name = "Carlton Lewis Hernandez"

코드의 첫 번째 줄에서 "Carlton Hernandez" 값을 name에 할당했습니다. 변하기 쉬운. 그런 다음 name에 "Carlton Lewis Hernandez" 값을 할당했습니다. 변하기 쉬운. 변수에 새 값을 할당하면 프로그램이 가장 최근 값을 덮어쓰고 새 값으로 바꿉니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

Python 전역 변수

Python에는 두 가지 주요 유형의 변수가 있습니다:로컬 및 전역.

전역 변수는 함수 외부에서 선언된 변수입니다. 전역 변수에는 전역 범위가 있습니다. 이는 함수 내를 포함하여 전체 프로그램에서 액세스할 수 있음을 의미합니다. 이 개념에 대한 다음 시각적 표현을 고려하십시오.

Python의 전역 및 지역 변수

Python 전역 및 지역 변수 가이드

전역 변수 프로그램 전체에서 액세스할 수 있습니다.

다음은 Python의 전역 변수 예입니다.

name = "Carlton Hernandez"

전역 변수를 선언하면 코드 전체에서 사용할 수 있습니다. 예를 들어, 전역 변수 name이 보유한 값을 출력하는 함수를 만들 수 있습니다. 다음 코드를 사용하여:

def printName():
	print(name)

printName()

코드 반환:

"Carlton Hernandez"

여기에서 printName()이라는 함수를 초기화했습니다. . 이 함수는 호출될 때 name의 값을 출력합니다. 콘솔에 변수. 이것은 우리가 함수를 호출했을 때 위에서 일어난 일입니다.

파이썬 지역 변수

반면에 지역 변수는 함수 내부에 선언된 변수입니다. 이러한 변수에는 local scope가 있는 것으로 알려져 있습니다. . 즉, 선언된 함수 내에서만 액세스할 수 있습니다. Python에서 변수의 개념을 묘사하는 이전에 표시한 이 시각적 표현을 다시 고려하십시오.

전역 및 지역 변수

Python 전역 및 지역 변수 가이드

로컬 변수 특정 기능 내에서만 액세스할 수 있습니다.

다음은 지역 변수를 사용하는 프로그램의 예입니다.

def printName():
	name = "Georgia Anderson"
	print(name)

printName()

코드 반환:

"Georgia Anderson"

코드에서 printName()이라는 함수를 선언했습니다. . 해당 함수 내에서 name이라는 변수를 정의했습니다. . 이 변수는 함수 내에서 선언했기 때문에 지역 변수입니다.

코드 끝에서 printName()을 사용하여 함수를 호출했습니다. . 이에 대한 응답으로 프로그램은 printName()을 실행했습니다. 함수.

name 이 예에서 변수는 printName()에 대해 로컬입니다. 함수. 따라서 함수 외부에서 해당 변수에 액세스할 수 없습니다. 다음은 이 로컬 name을 인쇄하려고 할 때 발생하는 일입니다. 선언된 함수 외부의 변수:

def printName():
	name = "Georgia Anderson"
	print(name)

printName()
print(name)

코드 반환:

NameError: name 'name' is not defined

해당 변수를 할당한 함수 외부에서 지역 변수에 접근할 수 없습니다. 주 프로그램에서 지역 변수에 액세스하려고 하면 프로그램에서 오류를 반환합니다.

전역 및 지역 변수 사용

프로그램이 지역 변수와 전역 변수 모두에 대해 동일한 변수 이름을 사용할 수 있습니다. 이러한 시나리오에서 로컬 변수는 로컬 범위에서 읽고 전역 변수는 전역 범위에서 읽습니다.

다음은 같은 이름의 지역 변수와 전역 변수가 있는 프로그램의 예입니다.

score = 5

def calculateScore():
	score = 10
	print("Final Score:", score)

calculateScore()
print("Initial Score:", score)

코드 반환:

Final Score: 10
Initial Score: 5

먼저 전역 변수 score를 할당했습니다. 우리의 코드에서. 그런 다음 calculateScore()에서 함수를 사용하여 같은 이름의 지역 변수를 만들었습니다.

지역 scorecalculateScore()의 변수 함수는 10입니다. 따라서 calculateScore()를 호출하면 함수, 메시지 Final Score: 10 콘솔에 인쇄됩니다.

그러나 calculateScore() 외부에서 함수, score 값 변수는 5입니다. 이는 score 값을 설정했기 때문입니다. 전역 범위의 변수를 5로 설정합니다. 따라서 Initial Score:를 출력할 때 , 뒤에 score 값 변수가 있으면 프로그램은 값 5를 표시합니다.

함수 내 전역 변수 할당

위의 섹션에서 전역 변수는 함수 외부에서(즉, 전역적으로) 정의되고 지역 변수는 함수 내부에서(즉, 로컬로) 정의된다는 것을 배웠습니다. 그러나 global을 사용하는 경우 키워드를 사용하여 함수 내에서(즉, 로컬로) 변수를 정의한 다음 프로그램에서 해당 함수를 실행하면(전역적으로) 해당 변수는 전역 변수가 됩니다.

다음 예를 고려하십시오.

def setName():
	global name
	name = "Bianca Peterson"

setName()
print(name)

코드 반환:

"Bianca Peterson"

코드에서 name 값을 할당했습니다. setName() 내부에서 로컬로 변수 함수. 그러나 이 변수를 정의하기 전에 global 키워드를 사용했기 때문에 name 가변 전역 범위. 그러나 name 변수는 이후에만 전역 변수가 됩니다. 우리는 프로그램에서 이 기능을 실행합니다.

프로그램이 setName()을 실행한 후 함수, name을 사용할 때마다 print()를 실행할 때 했던 것처럼 프로그램의 변수 함수에서 프로그램은 로컬 함수에서 선언한 값을 사용합니다. name 변수는 이제 전역 변수입니다.

직접할 수 없다고 이전에 말한 것을 기억하십시오. 함수 내에서 전역 변수를 변경하시겠습니까? 그것은 사실이다. 그러나 global 키워드를 사용하여 함수 내부의 전역 변수를 간접적으로 변경할 수 있습니다.

다음은 전역 변수의 값을 변경하기 위해 함수에서 전역 키워드를 사용하는 프로그램의 예입니다.

name = "Bianca Peterson"

def setName():
	global name
	name = "Bianca Lucinda Peterson"

setName()
print(name)

코드 반환:

"Bianca Lucinda Peterson"

이 코드를 분해해 보겠습니다. 먼저 name이라는 변수를 선언했습니다. 값을 "Bianca Peterson"으로 지정했습니다. 이것은 전역 변수입니다. 그런 다음 setName()이라는 함수를 선언했습니다. . 호출되면 setName() 함수는 name의 값을 변경합니다. 변하기 쉬운.

그런 다음 setName() name의 값을 변경한 함수 "비앙카 루신다 피터슨". 마지막으로 name 값을 출력했습니다. 콘솔에. 전역 변수 name의 값 지금은 "비앙카 루신다 피터슨"입니다.

일반적으로 global 키워드는 드물게 사용해야 합니다. global 키워드를 너무 자주 사용하면 프로그램에서 변수의 범위를 이해하기 어려울 수 있습니다.

결론

전역 변수는 함수 외부에서 선언된 변수입니다. 지역 변수는 함수 내부에 선언된 변수입니다.

전역 변수는 함수에서 직접 변경할 수 없지만 전역 키워드를 사용하여 전역 변수의 값을 변경하는 함수를 만들 수 있습니다. 이 경우 전역 변수의 값은 해당 함수를 실행할 때까지 실제로 변경되지 않습니다.

이 자습서에서는 예제를 참조하여 지역 및 전역 변수의 기본 사항과 작동 방식에 대해 설명했습니다. 이제 전문 프로그래머처럼 Python 코드에서 지역 및 전역 변수를 사용할 준비가 되었습니다!