
출력된 결과를 저장하기 위해서는 변수(variable)를 사용하여 저장해야 한다.

>>> x = 10
>>> x
10
>>> y = 'Hello, world!'
>>> y
'Hello, world!
type에 변수를 넣으면 변수(객체)의 자료형이 나온다.int는 정수( integer), str은 문자열(string)>>> type(x)
<class 'int'>
>>> type(y)
<class 'str'>
📎 참고)
=기호는 같다는 뜻?
프로그래밍 언어에서=는 변수에 값을 할당(assignment)한다는 의미
>>> x, y, z = 10, 20, 30
>>> x
10
>>> y
20
>>> z
30
# 변수와 값 개수가 같지 않으면
>>> x, y, z = 10, 20
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
x, y, z = 10, 20
ValueError: not enough values to unpack (expected 3, got 2)
# 변수 여러 개를 만들 때 값이 모두 같다면
>>> x = y = z = 10
>>> x
10
>>> y
10
>>> z
10
# 두 변수의 값 바꾸기
>>> x, y = 10, 20
>>> x, y = y, x
>>> x
20
>>> y
10
📎 참고) 변수 삭제하기
변수 삭제는del 변수를 사용한다.>> x = 10 >> del x >> x # 변수가 삭제되어 에러 발생 Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> x NameError: name 'x' is not defined
📎 참고) 빈 변수 만들기
빈 변수를 만들때는None을 할당해주면 된다.
파이썬에서 None은 아무것도 없는 상태를 나타내는 자료형이다. 보통 다른 언어에서는 널(null)이라고 표현한다.>> x = None >> print(x) None >> x >> (아무것도 출력되지 않음)
변수는 변수끼리 계산이 가능하고 계산 결과를 다른 변수에 할당할 수 있다.
>>> a = 10
>>> b = 20
>>> c = a + b
>>> c
30
>>> a = 10
>>> a + 20
30
>>> a
10 # 계산 결과가 유지되지 않음
# 값의 변화를 계속 유지하려면 계산 결과를 다시 변수에 저장
>>> a = 10
>>> a = a + 20 # a와 20을 더한 후 결과를 다시 a에 저장
>>> a
30
# 산술 연산 후 할당 연산자
>>> a = 10
>>> a += 20 # a와 20을 더한 후 결과를 다시 a에 저장
>>> a
30
# 만들지 않은 변수 사용
>>> d += 10 # d는 만들지 않은 변수
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
d += 10
NameError: name 'd' is not defined
📎 참고) 부호 붙이기
부호를 붙어야 하는 경우에는 값이나 변수 앞에 양수, 음수 부호를 붙이면 된다.>> x = -10 >> +x -10 >> -x 10
input() : 사용자가 입력한 값을 가져오는 함수>>> input()
Hello, world! (입력)
'Hello, world!'
변수=input() : input함수의 결과를 변수에 할당변수 = input('문자열') : 입력받은 상태 확인 가능>>> x = input()
Hello, world! (입력)
>>> # 입력 받은 상태인지 알 수 없다.
>>> x
'Hello, world!'
# 변수 = input('문자열')
>>> x = input('문자열을 입력하세요: ')
문자열을 입력하세요: Hello, world! (입력)
>>> x
'Hello, world!'
input에서 입력받은 값은 항상 문자열 형태input 결과값을 숫자로 만들어야 한다.int 대신 float사용a = input('첫 번째 숫자를 입력하세요: ')
b = input( '두 번째 숫자를 입력하세요:')
print(a + b)
첫 번째 숫자를 입력하세요:가 출력되면 10입력 후 엔터, 두 번째 숫자를 입력하세요:가 출력되면 20입력 후 엔터
# 실행결과
첫 번째 숫자를 입력하세요: 10 (입력)
두 번째 숫자를 입력하세요: 20 (입력)
1020
# input 결과 형태 확인
>>> a = input()
10 (입력)
>>> type(a)
<class 'str'>
# 문자열 상태의 결과값을 정수 형태로 변환
a = int(input('첫 번째 숫자를 입력하세요: ')) # int를 사용하여 입력 값을 정수로 변환
b = int(input('두 번째 숫자를 입력하세요: ')) # int를 사용하여 입력 값을 정수로 변환
print(a + b)
# 실행결과
첫 번째 숫자를 입력하세요: 10 (입력)
두 번째 숫자를 입력하세요: 20 (입력)
30
input에서 split을 사용하면 한 번에 여러 개 값을 입력받을 수 있다. (각 변수는 콤마(,)로 구분)
a, b = input('문자열 두 개를 입력하세요: ').split() # 입력받은 값을 공백을 기준으로 분리
print(a)
print(b)
문자열 두 개를 입력하세요:가 출력되면 Hello Python입력 후 엔터
# 실행결과
문자열 두 개를 입력하세요: Hello Python (입력)
Hello # 공백 기준으로 분리되어 변수 a에 저장
Python # 공백 기준으로 분리되어 변수 b에 저장
input에서 입력받은 값은 문자열이고, 이 문자열은 split으로 분리해도 문자열이다.a, b = input('숫자 두 개를 입력하세요: ').split() # 입력받은 값을 공백을 기준으로 분리
print(a + b)
# 실행결과
숫자 두 개를 입력하세요: 10 20 (입력)
1020
a, b = input('숫자 두 개를 입력하세요: ').split() # 입력받은 값을 공백을 기준으로 분리
a = int(a) # 변수를 정수로 변환한 뒤 다시 저장
b = int(b) # 변수를 정수로 변환한 뒤 다시 저장
print(a + b)
# 실행결과
숫자 두 개를 입력하세요: 10 20 (입력)
30
# print 안에서 int로 변환하고 연산해도 무방
print(int(a) + int(b))
int와 input().split()을 넣으면 split의 결과를 모두 int로 변환float 사용)a, b = map(int, input('숫자 두 개를 입력하세요: ').split())
print(a + b)
# 실행결과
숫자 두 개를 입력하세요: 10 20 (입력)
30
a, b = map(int, input('숫자 두 개를 입력하세요: ').split(',')) # 입력받은 값을 콤마를 기준으로 분리
print(a + b)
# 실행결과
숫자 두 개를 입력하세요: 10,20 (입력)
30
다음 소스 코드를 완성하여 정수 세 개를 입력받고 합계가 출력되게 만드세요.
# 문제
______________________________________
print(a + b + c)
# 실행결과
-10 20 30 (입력)
40
# 정답
a, b, c = map(int, input().split())
정수를 세 개 입력받으려면 input에서 split을 사용한 뒤 변수 세 개에 저장
input().split()의 결과는 문자열이므로 map에 int를 사용하여 정수로 변환