[Python] 1-3. 변수
저번 글에서는 파이썬 숫자형 자료에 대한 내용을 정리했다.
이번 글에서는 변수에 대해 알아보려고 한다.
파이썬에서 변수는 값을 저장하기 위한 식별자이다.
숫자 뿐만 아니라 문자열, 리스트, 딕셔너리 등 모든 자료형의 값을 저장할 수 있다.
1. 변수 만들기 및 사용하기
간단하게 number라는 이름의 변수를 만들어 사용해보자.
number = 400
number
# 출력 결과 : 400
위와 같이 number라는 이름의 저장 공간에 20250515를 넣고, number를 호출 하면 저장 공간에 있는 값을 꺼내 출력한다.
이렇게 생성된 변수를 사용해서 숫자 연산 또한 가능하다.
number + 2
# 출력 결과 : 402
number - 2
# 출력 결과 : 398
number * 4
# 출력 결과 : 1600
다만, number는 현재 숫자형 자료이기 때문에 문자열과 연산하는 것은 안된다.
number + '안녕하세요'
# 출력 결과 : TypeError: unsupported operand type(s) for +: 'int' and 'str'
2. 복합 대입 연산자
변수는 저장된 값에 따라 해당 자료형의 연산자를 사용할 수 있다.
즉, 문자열이 저장된 변수는 문자열 연산을 사용할 수 있고, 숫자가 저장된 변수는 수치 연산이 가능하다.
또한 변수를 사용할 때 기존 연산자와 결합된 형태의 복합 대입 연산자를 사용할 수 있다.
복합 대입 연산자는 값을 계산한 뒤 결과를 다시 변수에 저장하는 데 사용된다.
number = 3
number += 2
print(number)
# 출력 결과 : 5
이렇게 number += 2이라고 사용하면 number = number + 2이라고 하는 것과 같은 결과를 출력한다.
숫자에 적용할 수 있는 다른 연산자들도 마찬가지로 사용 가능하다.
- += : 숫자 덧셈 후 대입
- -= : 숫자 뺄셈 후 대입
- *= : 숫자 곱셈 후 대입
- /= : 숫자 나눗셈 후 대입
- %= : 숫자 나머지를 구한 후 대입
- **= : 숫자 제곱 후 대입
또 다른 예로 문자열을 사용해보겠다.
string = '반갑습니다'
string *= 3
print(string)
# 출력 결과 : 반갑습니다반갑습니다반갑습니다
숫자형 변수에서 연산이 가능한 것 처럼, 문자열이 저장된 변수에서도 문자열 연산자를 사용할 수 있다.
3. input()
파이썬은 명령 프롬프트에서 사용자로부터 데이터를 입력받을 때 input() 함수를 사용한다.
사용자로부터 데이터를 입력받기 위해 아래와 같은 코드를 입력한다.
input('이름을 입력하세요 :')
이때, input 함수 괄호 안에 입력한 내용을 프롬프트 문자열이라고 하며, 사용자로부터 입력을 요구하는 내용을 포함한다.
위의 코드를 실행하면 '이름을 입력하세요 :'라는 문자열이 뜨고 프로그램이 종료되지 않은 상태에서 대기상태가 된다.
(이렇게 실행 도중에 잠시 멈추는 것을 블록(block)이라고 한다)
'이름을 입력하세요 :' 옆에 이름을 입력하고 Enter를 누르면 사용자가 입력한 내용이 input 함수의 결과로 나오는데,
이 값을 변수에 대입해서 사용할 수 있다.
name = input('이름을 입력하세요 :')
print(name)
# 출력 결과
# 이름을 입력하세요 :순믹
# 순믹
이렇게 input과 같이 함수의 결과로 나오는 값을 리턴값이라고 한다.
4. 자료형 Type 변경
input() 함수는 사용자가 무엇을 입력해도 무조건 문자열 자료형으로 출력된다.
하지만 많은 경우에서 문자열을 숫자 자료형으로 변환해야합니다.
이때 사용할 수 있는 함수는 int() 함수와 float() 함수입니다.
- int() : 문자열을 int 자료형으로 변환합니다.
- float() : 문자열을 float 자료형으로 변환합니다.
다음과 같이 input 함수를 사용해서 각각의 두 수를 입력 받고 그 입력 받은 수를 연산하는 프로그램을 만들 때 해당 함수들을 사용합니다.
number_A = int(input('숫자 A를 입력하세요 :')) # 2를 입력
number_B = int(input('숫자 B를 입력하세요 :')) # 5를 입력
print('A + B =', number_A + number_B)
# 출력 결과
# 숫자 A를 입력하세요 :2
# 숫자 B를 입력하세요 :5
# A + B = 7
5. ValueError 예외
자료형을 변환할 때 변환할 수 없는 것을 변환하려고 하면 ValueError 예외가 발생한다.
예외가 발생하는 경우는 다음 두 가지이다.
1. 숫자가 아닌 것을 숫자로 변환하려고 할 때
int('반갑습니다')
float('안녕하세요')
2. 소수점이 있는 숫자 형식의 문자열을 int() 함수로 변환하려고 할 때
int('12.345')
int는 정수인데, 부동 소수점이 있는 자료형을 정수로 바꾸려고 하면 에러가 발생한다.