1. 변수와 값#
컴퓨터 프로그램은 간단하게 말해 변수를 조작하여 원하는 값을 만들어내는 명령문의 모음집이다. 이번 장에서는 변수의 활용법과 함께 파이썬에서 기본으로 제공하는 값의 종류와 값을 표현하는 표현식에 대해 알아본다.
값values은 컴퓨터에 저장해
활용하기 위한 임의의 데이터이다.
정수, 유한소수,
a, b, c, …, 가, 나, 다, …, !, :, ;, _, (, ), … 처럼
컴퓨터 키보드를 이용하여 입력할 수 있는 임의의 문자, 숫자, 기호로
구성된 문자열 등이 값이다.
또한 파이썬 좋아요;-), Hello, World! 등과 같은 문자열과 함께
리스트, 튜플, 사전과 같은 다양한 형태로 구성된 값들의 모음도 하나의 값으로 취급한다.
반면에 변수variables는 값이 저장된 컴퓨터 메모리 주소를 가르키는 이름이다. 파이썬에서 변수는 다음과 같이 변수에 값을 할당하는 형식으로 선언된다.
변수 = 값
변수 이름은 알파벳과 숫자, 밑줄 기호(_)로 만든 문자열이면 되는데, 숫자로 시작해서는 안된다.
자세한 사항은 1.3. 변수명 작성법을 참고하기 바란다.
1.1. 변수 할당과 활용#
다음 네 개 변수 할당variable assignment 명령문은 네 개의 변수 각각에 서로 다른 유형의 값, 즉 문자열, 정수, 유한소수, 리스트를 할당한다.
greetings = '안녕하세요!'
num = 17
pi = 3.14
scores = [92, 87, 100]
변수 greetings는 문자열 ‘안녕하세요’가 저장된 메모리의 주소를 가르키는 이름이고,
변수 num은 정수 17을,
변수 pi는 부동소수점 3.14를,
변수 scores는 세 개의 정수가 저장된 리스트의 주소를 가르키는 이름으로 정의된다.
이렇듯 변수에 값이 할당되면, 이 변수는 해당 값을 출력하거나 각종 연산에 이용되거나 다른 변수에 복사되는데 활용된다.
예를 들어, 변수명 greetings 을 실행하면 변수에 할당된 값인 문자열
안녕하세요!이 출력된다.
greetings
'안녕하세요!'
변수 num과 pi 에는 각각 정수와 부동소수점이 할당되었으므로 연산에 사용할 수 있다.
num + 2
19
2 * pi
6.28
변수 scores는 시험점수로 구성된 리스트가 할당되어 있으므로,
아래 코드에서처럼 리스트 인덱싱을 활용하여 시험점수의 평균값을 구할 수 있다.
참고로 정수의 나눗셈 결과는 항상 부동소수점으로 처리됨에 주의한다.
mean = (scores[0] + scores[1] + scores[2])/3
mean
93.0
1.2. 변수 재할당과 업데이트#
변수 재할당
변수 재할당variable reassignment은
변수에 할당된 값을 다른 값으로 대체하는 일이다.
현재 변수 num 에 할당된 값을 확인해보자.
num
17
이제 변수 num 에 다른 값을 할당해본다.
num = 7
이제 변수 num에는 정수 17이 아닌 정수 7이 할당되어 있다. 즉 변수 num는 정수 7이 저장된 주소를 가르키는 이름이 되었다.
num
7
변수 업데이트
변수 업데이트variable update는
변수에 이미 할당되어 있던 값을 이용해서 변수 재할당을 실행하는 과정을 말한다. 예를 들어 아래 코드는 변수 num 이 기존에 가리키던 값 7에 1을 더한 값 8을 다시 변수 num에 재할당한다.
num = num + 1
num
8
변수 업데이트 명령문을 보다 간편하게 표현할 수 있다.
예를 들어 아래 명령문은 num = num+1을 대신한다.
num += 1
num
9
반면에 아래 명령문은 num = num / 3 을 대신한다.
num /= 3
num
3.0
프로그래밍에서 많이 사용되는 간편한 변수 업데이트 형식은 다음과 같다.
간편 변수 업데이트 |
실제 의미 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
간편 변수 업데이트 명령문은 while 반복문에서 많이 활용된다. 예를 들어, 아래 코드는 while 반복문을 이용하여 1부터 10까지의 정수들의 합 sum을 계산하는 과정을 보여준다.
one2ten = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
index = 0
sum = 0 # 항목을 차례대로 더한 값. 시작은 0부터.
while index < 10:
sum = sum + one2ten[index] # 변수 업데이트
index = index + 1 # 변수 업데이트
print("1부터 10까지 정수의 합:", sum)
1부터 10까지 정수의 합: 55
위 코드에서 while 반복문의 본문에 포함된 두 개의 변수 업데이트 명령문 모두
간편 변수 업데이트 명령문으로 대체할 수 있다.
one2ten = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
index = 0
sum = 0 # 항목을 차례대로 더한 값. 시작은 0부터.
while index < 10:
sum += one2ten[index] # 간편 변수 업데이트
index += 1 # 간편 변수 업데이트
print("1부터 10까지 정수의 합:", sum)
1부터 10까지 정수의 합: 55
1.3. 변수명 작성법#
변수명, 즉 변수의 이름은 할당되는 값과 연관된 이름을 사용하는 게 좋다.
예를 들어, 농구 시합에서 A 팀의 점수 77와 B 팀의 점수 81을 저장하는 변수명으로는 x, y 보다는 A_score, B_score 와 같은 변수명이 더 바람직하다.
A_score = 77
B_score = 81
변수명을 지정할 때 지켜야 하는 몇 가지 규칙이 있다.
알파벳, 숫자, 밑줄 기호
_등을 임의로 조합하되, 공백space을 포함할 수 없고, 숫자로 시작해서는 안되며, 알파벳 대소문자의 구분이 있다.다음 기호들은 사용할 수 없다.
., !, +, -, , /, %, @, ~
파이썬에서 특별한 역할을 수행하는 아래 키워드keyword들은 그대로 변수로 사용할 수 없다. 파이썬 프로그래밍 언어의 키워드는 파이썬 최신 버전 기준으로 총 35개이다.
False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield
1.4. 예제#
준비중 …