변수는 프로그래밍에서 중요하고 보편적인 개념입니다. 변수는 데이터를 저장하기 위한 컨테이너입니다. 변수는 사용자의 온라인 게임 인벤토리에 있는 사용자 이름, 이메일 주소 및 항목을 포함하여 다양한 유형의 데이터를 저장할 수 있습니다.
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의 전역 변수 예입니다.
name = "Carlton Hernandez"
전역 변수를 선언하면 코드 전체에서 사용할 수 있습니다. 예를 들어, 전역 변수 name
이 보유한 값을 출력하는 함수를 만들 수 있습니다. 다음 코드를 사용하여:
def printName(): print(name) printName()
코드 반환:
"Carlton Hernandez"
여기에서 printName()
이라는 함수를 초기화했습니다. . 이 함수는 호출될 때 name
의 값을 출력합니다. 콘솔에 변수. 이것은 우리가 함수를 호출했을 때 위에서 일어난 일입니다.
파이썬 지역 변수
반면에 지역 변수는 함수 내부에 선언된 변수입니다. 이러한 변수에는 local scope
가 있는 것으로 알려져 있습니다. . 즉, 선언된 함수 내에서만 액세스할 수 있습니다. 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()
에서 함수를 사용하여 같은 이름의 지역 변수를 만들었습니다.
지역 score
값 calculateScore()
의 변수 함수는 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 코드에서 지역 및 전역 변수를 사용할 준비가 되었습니다!