2. Python 기초 문법-변수
1. 변수(Variable)
변수라는 것은 임시로 혹은 영구적으로 값을 기억해두기 위한 저장소를 말합니다. 이러한 변수는 왜 필요한 것일까요? 이해를 돕기 위해 예를 하나 들어보도록 하겠습니다. 시장에서 야채를 사려고 하여 만원 짜리 지폐를 들고 콩나물을 사려고 할 때, 우리가 가지고 있는 돈인 10000원에서 콩나물 가격 2000원을 뺀 나머지인 8000원을 거스름돈으로 받게 됩니다. 이를 컴퓨터 상에서 표현한다고 한다면, 아래와 같을 것입니다.
1 2 3 4 |
money = 10000
Price = 2000
money = money - Price
print(money)
|
결과: 8000
위 코드에서 money와 Price가 변수이며, 변수가 담고 있는 값은 항상 고정되어 있는게 아니라 변할 수 있습니다. 1행을 보시면 10000이란 값이 변수 money에 들어가고, 2행에서는 2000이란 값이 변수 Price에 들어갑니다. 그리고 변수 money와 Price가 담고 있는 값을 가지고 연산을 한 뒤, 그 결과를 다시 money에 저장합니다. 그리고 최종적으로 money의 값을 출력합니다.
쉽게 말하면 변수는 '값을 담아두는 상자'라고 할 수 있지만, 실제로는 값을 담아두는게 아니라 어떠한 값에 이름표를 붙이는 것과 같습니다.
2. 파이썬에선 모든게 객체(Object)다!
파이썬에선 모든게 객체(Object)라니, 객체란 것은 도대체 무엇을 말하는 것일까요? 우리가 앞으로 배우게 될 함수, 모듈, 리스트, 튜플 등 모든 것을 객체라고 할 수 있습니다.
위 그림에서 코드 영역에 있는 코드가, 메모리 영역에서는 변수 X, Y, Z가 만들어지고, 객체 3과 5가 만들어지게 됩니다. 여기서 X, Y는 동일하게 3이라는 값을 가진 객체를 가리키게 되고, Z는 5라는 값을 가진 객체를 가리키게 되는 것입니다. 만약 Y에 4를 넣으려고 한다면, 더 이상 객체 3을 가리키는 게 아니라 새로운 객체 4를 가리키게 됩니다.
파이썬 내에는 id라는 내장 함수가 존재하고, 이 id 함수는 객체의 주소를 돌려주는데 여기서 위의 그림을 뒷받침해줄 id함수를 사용하여 결과를 확인해 보겠습니다. 잠시 id 함수를 통해 정말 같은 곳을 가리키고 있는지 확인을 해보도록 하겠습니다. (함수에 대해 이해가 안가시면, 함수에 대한 강좌를 미리 보고 오시는 것도 괜찮습니다.)
1
2
3
4
|
X = 3
Y = 3
Z = 5
print(id(X), id(Y), id(3), id(Z), id(5))
|
결과:507098848 507098848 507098848 507098912 507098912
결과를 보시면 변수 X와 Y은 객체 3을 가리키고, 변수 Z는 객체 5를 가리킨다고 말할 수 있습니다. 즉, 객체 3의 주소값과 변수의 주소 값이 모두 일치하는 것입니다. 이번엔 값을 조금 바꾸어 예제의 결과를 확인하도록 합시다.
1
2
3
4
|
X = 300
Y = 50
Z = 257
print(id(X), id(Y), id(Z), id(300), id(50), id(257))
|
결과: 42178032 507100352 42179216 52031024 507100352 52031088
위 결과를 보시면, 변수 Y와 객체 50의 주소값은 동일하지만 변수 X, Y와 300, 257은 서로 다른 것을 보실 수 있습니다.
3. 변수의 이름 작성 규칙
이런 변수란 것을 만들려면 어떻게 해야 할까요? 우리는 이미 위 예제 코드에서 두 개의 변수를 만들었으며, 인터프리터식 언어답게 변수를 알아서 인식하며 '=' 기호를 통해서 변수를 만들 수 있습니다. 변수명에는 문자, 숫자, 언더바(_)를 포함할 수 있으며 숫자는 가장 처음에 등장할 수 없습니다. 또한 파이썬에선 대소문자를 구분하기 때문에 apple이란 변수와 Apple이란 변수는 서로 다릅니다.
1
2
3
4
5
|
4pple = 10 # 숫자가 가장 처음에 등장했다. 이 경우에는 구문 에러가 발생한다.
admin = 50 # 정상적으로 admin이란 변수가 만들어진다.
Apple = 60 # 정상적으로 Apple이란 변수가 만들어진다.
apple = 70 # 대소문자를 구분하기 때문에 앞에 나온 변수인 Apple과는 별개의 변수이다.
print(admin, Apple, apple) # 세 변수의 값을 모두 출력한다. 출력된 결과는 50 60 70이다.
|
또한, 아래에 있는 키워드는 변수명으로 사용할 수 없습니다.
False, None, True, and, as, assert, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield
위에 있는 키워드들은 파이썬 문법에서 사용되는 단어로, 특별한 의미를 지니고 있습니다. 아래와 같이 변수를 만들 수는 없다는 말입니다.
1
2
3
|
None = 3
yield = 15
global = 663
|
위의 코드를 IDLE에 입력하시면 "Invalid syntax", "assignment to keyword"와 같은 에러를 만날 것입니다. 키워드는 변수의 이름으로 쓰일 수 없다는 사실을 기억해두시고 계시기 바랍니다.
↘↘↘↘↘↘↘교육관련문의↘↘↘↘↘↘↘↘
https://blog.naver.com/grinbi0921
'→ 지식나눔 > Python 기초 강좌' 카테고리의 다른 글
6. Python 기초 문법 - 튜플(Tuple) (0) | 2022.11.16 |
---|---|
5. Python 기초 문법 - 리스트(List) (0) | 2022.11.16 |
4. Python 기초 문법 - 문자열 (0) | 2021.12.27 |
3. Python 기초 문법-수치 자료형 (0) | 2021.12.27 |
1. Python의 개요 및 설치 (0) | 2021.12.20 |
댓글