[Python] TIL 1. 변수(variable)에 대한 이해
in PROGRAMING STUDY on Python
- 변수가 무엇인지 이해
- 식별자에대한 이해
- 변수 선언 규칙
컴퓨터는 메모리에 모든 것을 저장한다. 파이썬 또한 메모리를 저장하고 사용하는데, 이때 사용하는 것이 변수이다. 변수는 컴퓨터의 메모리 공간에 이름을 붙이는 것으로, 저장할 수 있는 메모리의 형태는 크게 숫자형과 문자형으로 나눌 수 있다.
1. 변수 할당
문자형은 큰 따옴표(“ “)나 작은 따옴표(‘ ‘)로 묶어주어야 하고, 숫자형은 그럴 필요가 없다. 다만, 숫자를 큰 따옴표나 작은 따옴표로 ㅂ묶으면 문자로 인식한다.
a = '안녕'
b = 2
변수는 파이썬에서 가장 많이 사용되는 객체이다. 파이썬에서 변수 할당은 =
기호로 이루어지는데, 이때 =
은 ‘같다’의 의미가 아니라 ‘오른쪽 값을 왼쪽 변수에 저장하라’라는 말이다. 위의 예시에 적용해 보면 오른쪽에 있는 ‘안녕’이라는 값을 왼쪽에 있는 a라는 변수에 저장(할당) 한 것이다. 아래 b = 2
또한 마찬가지이다.
이러한 변수는 print()
라는 함수나 변수명으로 출력할 수 있다. 이때 출력 값은 우리가 저장한 오른쪽 값이다.
print(a)
# => 안녕
b
# => 2
변수의 값은 언제든지 바뀔 수 있다. 이러한 이유 때문에 변수라는 이름을 붙인 것이기도 하다. 아래의 예를 보면, 변수 a
에 ‘ 안녕’을 먼저 입력했었지만, 뒤에 ‘잘 가’를 다시 입력해줌으로써 마지막에는 ‘잘 가’만 남게 된다.
a = '안녕'
a = '잘 가'
print(a)
# => '잘 가'
이러한 숫자형 변수는 사칙 연산이 가능하다.
## 사칙연산( +, -, *, /)
a = 7
b = 3
print(a + b)
print(a - b)
print(a * b)
print(a / b)
# => 10
# => 4
# => 21
# => 2.333333333333333335
또한 변수는 우리가 필요하면 얼마든지 만들 수 있다. 변수 a
와 변수 b
를 더한 값을 저장하기 위해 변수 result
를 만들었다.
## 사칙연산( +, -, *, /)
a = 7
b = 3
result = a + b
print(result)
# => 10
2. 식별자
변수 이름을 변수의 이름은 ‘식별자(identifier)의 일종’으로 설정할 때는 몇 가지 규칙이 있다. 사람을 이름으로 식별하듯, 식별자는 변수와 변수들을 식별하는 역할을 한다. 그 규칙은 다음과 같다.
- 의미 있는 이름을 사용. 파이썬으로 코드를 입력해본 결과 ‘학생’이라는 변수를 ‘S’로 지정하는 것보다는 ‘student’로 지정하는 것이 나중에 코드만 보고 내용을 이해하는 데에 좀 더 쉬웠다.
- 식별자는 영문자와 숫자, 밑줄 문자(_)로 이루어진다.
- 식별자의 중간에는 공백이 들어가서는 안된다.
- 소문자와 대문자 또한 다르게 취급한다. 그렇기 때문에 sum과 SUM, Sum, suM 모두 다른 변수로 인식한다.
- 식별자의 첫 글자는 반드시 영문자 또는 밑줄 문자(_) 여야 하며, 식별자는 숫자로 시작할 수 없다.
- 파이썬 지정 단어(keyword.Reserved word)는 변수명으로 사용할 수 없다. 파이썬 지정 단어 확인 방법은 다음과 같다.
import keyword
keyword.kwlist
# => ['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']
변수를 데이터를 담아두는 바구니로 생각해보자. 변수에 있는 값은 언제든지 바뀔 수 있다. (그래서 변수라는 이름을 붙인 것이다.) 즉, 우리가 필요에 따라 변수에 들어가 있는 값을 다른 값으로 바꿀 수 있다.