들어가기 전 용어 정리
- 변수 값을 저장할 때 사용하는 식별자
- 블록 프로그램이 실행 도중에 잠시 멈추는 것
- 리턴값 함수의 결과로 나오는 값
변수를 만들고 사용하는 방법
- 변수 선언 변수를 생성한다.
- 변수에 값 할당 변수에 값을 넣는다.
- 변수 참조 변수에서 값을 꺼낸다.
변수 = 값
위의 형태처럼 변수 이름을 적어 선언하고, = 을 입력한 후 값을 입력하면
선언한 변수에 값을 할당한 것이다.
pi = 3.14
pi라는 변수에 3.14라는 값을 저장한 예시
선언한 변수를 사용하는 '참조'를 할 때는 참조할 위치에서 변수 이름을 써주면 된다.
# 변수에 할당된 값으로 연산
pi + pi
# 변수에 할당된 값을 출력
print(pi) # 3.14
위의 두 예시처럼 변수를 참조할 수 있다.
주의 ! 변수 pi에 저장된 값은 숫자이기 때문에 숫자 연산은 가능하지만 문자열과 연산할 수는 없다.
복합 대입 연산자
변수를 활용하면 기존의 연산자와 조합해서 사용할 수 있는 복합 대입 연산자가 있다.
복합 대입 연산자는 자료형에 적용하는 기본 연산자와 = 연산자를 함께 사용하여 구성하는 연산자이다.
예를 들어 변수 a에 대해
a += 10을 연산하면 a = a+10과 같은 결과를 낸다.
연산자 이름 | 설명 |
+= | 덧셈 후 대입 |
-= | 뺄셈 후 대입 |
*= | 곱셈 후 대입 |
/= | 나눗셈 후 대입 |
%= | 나머지를 구한 후 대입 |
**= | 제곱 후 대입 |
숫자에 적용할 수 있는 복합 대입 연산자 종류
num = 50
num += 5
num -= 10
num /= 5
print(num) # 9
위의 예시를 보면 num의 초깃값은 50이다.
한 줄씩 연산해보면
초깃값 50에 5를 덧셈한 후 대입하여 num에 55가 저장되고
55가 저장된 num에서 10을 뺄셈 후 대입한 값으로 45,
45에서 5를 나눗셈 후 대입하여 9가 저장된다.
따라서 print(num)을 했을 때 9가 출력된다.
문자열도 마찬가지로 복합대입 연산자를 사용할 수 있다.
연산자 이름 | 설명 |
+= | 연결 후 대입 |
*= | 반복 후 대입 |
문자열에 적용할 수 있는 복합 대입 연산자
str = "안녕"
str += "하세요"
str *= 2
print(str) # 안녕하세요안녕하세요
위의 예시를 보면 변수 str의 초깃갑으로 "안녕"을 저장한 후,
"하세요"를 연결 후 대입하여 str의 값이 "안녕하세요"로 저장되었고
두 번 반복하여 print(str)을 했을 때 "안녕하세요안녕하세요"가 출력된다.
사용자로부터 데이터를 입력받을 때 사용하는 방법 : input() 함수
명령 프롬프트에서 사용자로부터 데이터를 입력받을 때 input() 함수를 사용한다.
사용자로부터 데이터를 입력받기 위해 input() 함수를 쓴다.
이때 input() 함수의 괄호 안에 입력한 내용을 프롬프트 문자열이라고 하며,
사용자로부터 입력을 요구하는 안내 내용을 포함한다.
input("이름을 입력하세요: ")
위의 예시에서 "이름을 입력하세요: "가 프롬프트 문자열이다.
이 코드를 실행하면 사용자가 입력 후 Enter 키를 누르기 전까지 코드 진행을 블록한다.
사용자가 입력 후 Enter 키를 누르면 입력한 내용은 해당 input 함수의 리턴값이 된다.
이 값은 다른 변수에 대입하여 사용할 수 있다.
name = input("이름을 입력하세요: ") # 이름을 입력하세요:
print(name)
출력된 "이름을 입력하세요: "뒤에 사용자가 입력 한 후 Enter 키를 누르면 입력한 내용이 변수 name에 저장된다.
그 후 name을 출력하면 사용자가 입력한 내용이 출력된다.
input() 함수의 입력 자료형
이 전의 예제에서 사용자에게 입력받은 name의 자료형을 보면,
print(type(name)) # <class 'str'>
str, 즉 문자열이다.
age = input("나이를 입력하세요: ")
print(age)
그럼 이처럼 숫자를 입력받았을 때의 자료형은 무엇일까?
확인해보면,
print(type(age)) # <class 'str'>
보다시피 int나 float으로 숫자가 아닌 str, 문자열이다.
input() 함수는 사용자가 어떤 것을 입력해도 결과는 무조건 문자열 자료형이다.
자료형 변환 : 문자열 → 숫자
input() 함수의 결과는 항상 문자열이기 때문에 숫자 연산에 활용하려면 자료형을 변환해줘야 한다.
이 때 사용하는 함수는,
- int() 함수 문자열을 int 자료형으로 변환한다.(int:정수)
- float() 함수 문자열을 float 자료형으로 변환한다.(float:실수/부동 소수점)
int()와 float() 두 가지가 있다.
사용자의 77년 후 나이를 계산하는 간단한 예제를 만들어보자.
age = int(input("나이를 입력하세요: ")) # 나이를 입력하세요: 21
print("77년 후 나이는", age + 77, "살 입니다.") # 77년 후 나이는 98 살 입니다.
입력받은 숫자 21에 int() 함수를 사용해주면 변수 age의 자료형은 숫자 연산을 할 수 있는 정수형이 된다.
21에 77을 더하면 98이 되므로 숫자 연산이 정확하게 된 것을 알 수 있다.
주의 ! 입력받은 내용이 문자열, 예를 들어 "스물한살"이라면 숫자로 변환할 수 없다.
주의 ! 입력받은 내용이 실수형, 예를 들어 "3.14"라면 int() 함수로 변환할 수 없다.
하지만 정수형은 float() 함수를 사용할 수 있다. 단, "21"을 입력받았을 때 float() 함수를 사용하면 21.0이 된다.
자료형 변환 : 숫자 → 문자열
- str() 함수 숫자를 문자열으로 변환한다.
int() 와 float() 함수와 비슷한 형태를 가진다.
int_str = str(3)
float_str = str(3.14)
print(type(int_str), int_str) # <class 'str'> 3
print(type(float_str), float_str) # <class 'str'> 3.14
위의 예제처럼 숫자도 str() 함수를 통해서 숫자로 변환할 수 있다는 것을 알 수 있다.
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Python] 불 자료형 (2) | 2025.07.21 |
---|---|
[Python] 문자열 관련 함수 (1) | 2024.11.13 |
[Python] 숫자 자료형/연산자 (0) | 2024.11.08 |
[Python] 파이썬의 자료형(데이터 타입)과 문자열 (8) | 2024.11.07 |
[Python] 파이썬의 개념 및 기초 용어 (8) | 2024.11.06 |