값을 저장할 때 사용하는 식별자이다.
숫자뿐만 아니라 모든 자료형을 저장할 수 있다.
변수 = 값 (변수를 선언하고 값을 할당)
>>> x = 10
>>> y = 'hello world!'
>>> type(x)
<class 'int'> #정수형 변수
>>> type(y)
<class 'str'> #문자열 변수
변수를 삭제하거나 빈변수로 만들 때에는 del, None을 이용한다.
>>> del x
>>> print(x)
Traceback (most recent call last):
File "<pyshell#102>", line 1, in <module>
print(x)
NameError: name 'x' is not defined
>>> print(y)
hello world!
>>> x = None
>>> print(x)
None
>>> y = None
>>> type(y)
<class 'NoneType'>
명령 프롬프트에서 사용자로부터 데이터를 입력받을 때 사용한다.
입력할 문자열이 그대로 출력된다.
>>> input("인사말을 입력하세요!")
인사말을 입력하세요!안녕하세요!
'안녕하세요!'
시용자가 입력한 내용은 input함수의 결과로 나오는데 이 값은 다른 변수에 대입해서 사용할 수 있다.
input과 같이 함수의 결과로 나오는 값을 리턴값이라고 한다.
>>> string = input('인사말을 입력하세요')
인사말을 입력하세요안녕하세요!
>>> print(string)
안녕하세요!
>>> print(type(string))
<class 'str'>
input()함수에 대입한 값의 자료형은 문자열인 'str'이다.
>>> number = input('숫자를 입력하세요')
숫자를 입력하세요123
>>> print(number)
123
>>> print(type(number))
<class 'str'>
input()함수는 사용자가 무엇을 입력해도 결과는 무조건 문자열 자료형이다.
숫자를 입력해도 문자열로 들어오기 때문에 input()함수로 자료를 입력받은 후 입력받은 것과 숫자를 더하는 코드를 작성하고싶다면 입력값을 정수로 바꾸어줘야한다.
>>> number = input('숫자를 입력하세요')
숫자를 입력하세요123
>>> print("number + 100 : ", number + 100)
Traceback (most recent call last):
File "<pyshell#76>", line 1, in <module>
print("number + 100 : ", number + 100)
TypeError: can only concatenate str (not "int") to str
>>> print(type(number))
<class 'str'> #자료형이 문자열이기때문에 숫자를 더할 수 없음
#입력값을 정수로 변환하기
>>> number = int(input('숫자를 입력하세요'))
숫자를 입력하세요123
>>> print(number)
123
>>> print("숫자 + 100 :", number + 100)
숫자 + 100 : 223
>>> print(type(number))
<class 'int'>
>>> a, b = input('문자열 두 개를 입력하세요').split()
문자열 두 개를 입력하세요사과 바나나
>>> print(a)
사과
>>> print(b)
바나나
.split() : 문자열이 공백기준으로 나뉘어 출력된다.
.split(',') : ,(콤마)기준으로 나뉘어 출력된다.
>>> x, y =input('숫자 두 개를 입력하세요').split(',')
숫자 두 개를 입력하세요5,7
>>> print(x + y)
57 #입력받은 값이 str이므로 문자연결연산으로 출력됨
>>> x = int(x)
>>> y = int(y)
>>> print(x + y)
12 #정수형으로 변환하여 숫자연산으로 출력됨
위의 커드처럼 변수를 하나하나 정수로 지정해주는 방법도 있고, map()으로 묶어 지정해 주는 방법도 있다.
>>> x,y = map(int, input('숫자 두 개를 입력하세요.').split())
숫자 두 개를 입력하세요.2 3
>>> print(x + y)
5