변수(Variables)
1. 변수란?
1-1. 변수는 상자이다.
- 변수란 데이터의 값을 저장하는 상자와 같다.
- 아래와 같이 number라는 이름의 스티커가 붙은 상자에 100이라는 값이 담겨있다면, 이를 변수 number에 정수 100이 담겨있다.라고 표현할 수 있다.
- 파이썬으로 표현하면 아래와 같다.
number = 100
1-2. 할당(assignment)
- 변수를 생성할 때는 할당 연산자(=)를 사용한다.
- 변수 이름 = 변수에 저장되는 값의 형식으로 작성한다.
- 수학의 등호(=)처럼 왼쪽과 오른쪽이 같다는 의미가 아니다. 오른쪽 값이 왼쪽 변수에 할당된다라고 생각해야 한다.
- 변수를 출력하면, 해당 변수에 담긴 데이터의 값이 출력된다.
name = "kyle" # name 변수에 문자열 "kyle"을 할당
age = 20 # age 변수에 정수 20을 할당
is_male = True # is_male 변수에 불린형 True를 할당
print(name)
print(age)
print(is_male)
kyle
20
True
- 이제 type() 내장함수에 값 대신 변수를 넣어서, 해당 데이터의 타입을 알 수 있다.
name = "kyle"
age = 20
is_male = True
print(type(name))
print(type(age))
print(type(is_male))
<class 'str'>
<class 'int'>
<class 'bool'>
1-3. 변수를 사용하면 좋은 점
1. 변수는 데이터에 의미를 부여한다.
- 아래는 정수 20을 출력하는 코드이다. 정수 20은 날 것의 데이터이므로, 그 값이 나이를 의미하는지 개수를 의미하는지 전혀 알 수 없다.
print(20) # 정수 20이 무엇을 의미하는지 모름
20
- 이번에는 변수를 만들어 값을 할당한 후 출력해 본다. 이제 정수 20이 나이를 의미한다는 것을 알 수 있다.
- 이처럼 변수는 각 데이터가 어떤 의미를 가지고 있는지 쉽게 파악하게 해준다.
age = 20 # 정수 20이 나이를 의미
print(age)
20
2. 변수는 코드의 재사용성과 가독성을 높여준다.
- 아래는 “Life is too short, You need Python.”이라는 문자열을 5번 출력하는 코드이다.
print("Life is too short, You need Python.")
print("Life is too short, You need Python.")
print("Life is too short, You need Python.")
print("Life is too short, You need Python.")
print("Life is too short, You need Python.")
Life is too short, You need Python.
Life is too short, You need Python.
Life is too short, You need Python.
Life is too short, You need Python.
Life is too short, You need Python.
- 이번에는 변수를 만들어 값을 할당한 후 출력해 본다. 하나의 변수로 문자열을 재사용하고 있고, 훨씬 코드도 깔끔해졌다.
sentence = "Life is too short, You need Python."
print(sentence)
print(sentence)
print(sentence)
print(sentence)
print(sentence)
Life is too short, You need Python.
Life is too short, You need Python.
Life is too short, You need Python.
Life is too short, You need Python.
Life is too short, You need Python.
3. 변수는 유지보수를 쉽게 해준다.
- “Life is too short, You need Python.”이라는 문자열을 5번 출력하는 코드에서 You → We로 단어를 바꾸고 싶다면 어떻게 해야 할까? ⇒ 5개의 문장을 일일이 수정해야 한다. 번거롭다!
print("Life is too short, We need Python.")
print("Life is too short, We need Python.")
print("Life is too short, We need Python.")
print("Life is too short, We need Python.")
print("Life is too short, We need Python.")
Life is too short, We need Python.
Life is too short, We need Python.
Life is too short, We need Python.
Life is too short, We need Python.
Life is too short, We need Python.
- 하지만 변수로 만들어서 사용하면, 1번만 수정하면 되므로 유지 보수가 쉬워진다.
sentence = "Life is too short, We need Python."
print(sentence)
print(sentence)
print(sentence)
print(sentence)
print(sentence)
Life is too short, We need Python.
Life is too short, We need Python.
Life is too short, We need Python.
Life is too short, We need Python.
Life is too short, We need Python.
2. 식별자와 리터럴
2-1. 식별자(Identifiers)
- 식별자는 변수의 이름을 뜻한다.
- 할당 연산자(=)에서 왼쪽에 해당하는 부분이다.
- 이러한 식별자, 즉 변수 이름을 지을 때는 몇 가지 규칙이 존재한다.
변수명(식별자) 작성 규칙
1) 알파벳, 언더바(_), 숫자로 구성되어야 한다. # number, my_note, car1
2) 첫 글자에는 숫자가 올 수 없다. # 1car는 불가능
3) 대소문자를 구별한다. # 변수 a와 변수 A는 서로 다른 변수
4) 띄어쓰기가 필요한 경우 언더바(_)로 구분한다. # 식별자에는 공백이 있으면 안되므로 my_list 와 같은 식으로 공백을 표현
5) 예약어로 지을 수 없다.
- 예약어란 파이썬에서 특정 기능을 수행하도록 미리 지정되어 있는 키워드를 말한다.
- 따라서 변수명(식별자)를 지을 때는 아래와 같은 예약어로 짓는 것을 반드시 피해야 한다.
False, None, True, and, as, assert, async, await, 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
2-2. 리터럴(Literal)
- 리터럴은 데이터의 값을 뜻한다.
- 할당 연산자(=)에서 오른쪽에 해당하는 부분이다.
- 예를 들어, 100은 정수 리터럴이다. “Python”은 문자열 리터럴이다.
정리하자면 변수는 박스이고 식별자는 박스에 붙은 이름이며 리터럴은 박스에 담긴 값이라고 할 수 있다.
number = 100 # 식별자가 number인 변수에 정수 리터럴 100을 할당
3. 재 할당과 동시 할당
3-1. 재 할당
- 동일한 변수에 값을 다시 할당할 수도 있다.
number = 100 # 할당
print(number)
number = 200 # 재 할당
print(number)
100
200
- 재 할당 시 변수는 가장 마지막으로 할당한 값을 가지고 있음에 주의한다.
number = 100
number = 200
number = 300
print(number)
300
3-2. 동시 할당
- 변수 x와 y에 정수 10을 각각 할당한다고 가정한다.
x = 10
y = 10
print(x)
print(y)
10
10
- 위의 코드를 한 줄로 작성하여 변수 x와 y에 동시에 정수 10을 할당할 수도 있다.
x = y = 10
print(x)
print(y)
10
10
- 만약 변수 x와 y에 서로 다른 값을 동시에 할당하고 싶다면 아래와 같이 작성할 수도 있다.
- 왼쪽의 변수와 오른쪽의 값이 서로 매핑되면서 위치에 맞게 할당된다. (x에는 10 할당, y에는 20 할당)
x, y = 10, 20
print(x)
print(y)
10
20
'Python' 카테고리의 다른 글
조건문(Condition) (0) | 2024.03.23 |
---|---|
연산자(Operators) (1) | 2024.03.17 |
사용자 입력(input)과 출력(print) (0) | 2024.03.17 |
기본 자료형(Data types) (0) | 2024.03.17 |
파이썬(Python) 소개 (0) | 2024.03.17 |