반응형
파이썬에서 문자열을 숫자로 변환하는 방법에는 여러 가지가 있습니다. 주로 int()
함수와 float()
함수를 사용하여 문자열을 정수나 실수로 변환합니다. 아래에 각각의 방법을 예제와 함께 설명하겠습니다.
1. 문자열을 정수로 변환
int()
함수 사용
num_str = "123"
num = int(num_str)
print(num) # 출력: 123
print(type(num)) # 출력: <class 'int'>
문자열이 유효한 정수 형식이 아니면 ValueError
가 발생합니다.
invalid_num_str = "123abc"
try:
num = int(invalid_num_str)
except ValueError as e:
print(e) # 출력: invalid literal for int() with base 10: '123abc'
2. 문자열을 실수로 변환
float()
함수 사용
float_str = "123.45"
num = float(float_str)
print(num) # 출력: 123.45
print(type(num)) # 출력: <class 'float'>
마찬가지로 문자열이 유효한 실수 형식이 아니면 ValueError
가 발생합니다.
invalid_float_str = "123.45abc"
try:
num = float(invalid_float_str)
except ValueError as e:
print(e) # 출력: could not convert string to float: '123.45abc'
3. 숫자를 문자열로 변환
숫자를 문자열로 변환하려면 str()
함수를 사용합니다.
num = 123
num_str = str(num)
print(num_str) # 출력: "123"
print(type(num_str)) # 출력: <class 'str'>
4. 숫자로 변환 가능한지 확인
문자열이 숫자로 변환 가능한지 확인하려면 예외 처리를 사용하는 것이 일반적입니다.
def is_int(s):
try:
int(s)
return True
except ValueError:
return False
def is_float(s):
try:
float(s)
return True
except ValueError:
return False
print(is_int("123")) # 출력: True
print(is_int("123abc")) # 출력: False
print(is_float("123.45")) # 출력: True
print(is_float("123.45abc")) # 출력: False
5. 다양한 숫자 형식 처리
문자열이 16진수, 8진수, 2진수인 경우
문자열이 다른 진법(예: 16진수, 8진수, 2진수)일 경우, int()
함수의 두 번째 매개변수를 사용하여 진법을 지정할 수 있습니다.
hex_str = "0x1A"
oct_str = "0o17"
bin_str = "0b1011"
# 16진수 문자열을 10진수 정수로 변환
num_from_hex = int(hex_str, 16)
print(num_from_hex) # 출력: 26
# 8진수 문자열을 10진수 정수로 변환
num_from_oct = int(oct_str, 8)
print(num_from_oct) # 출력: 15
# 2진수 문자열을 10진수 정수로 변환
num_from_bin = int(bin_str, 2)
print(num_from_bin) # 출력: 11
요약
- 문자열을 정수로 변환:
int()
- 문자열을 실수로 변환:
float()
- 숫자를 문자열로 변환:
str()
- 숫자로 변환 가능한지 확인: 예외 처리 사용 (
try
-except
) - 다른 진법의 문자열을 정수로 변환:
int()
의 두 번째 매개변수로 진법 지정
이와 같은 방법을 통해 파이썬에서 문자열과 숫자 간의 변환을 효과적으로 처리할 수 있습니다.
반응형
'언어 > Python' 카테고리의 다른 글
[ Python ] 아스키 유니코드 다루기 (0) | 2024.06.07 |
---|---|
[ Python ] 내장 Keyword 사용하여 문자열 다루기 (0) | 2024.06.07 |
[ Python ] 문자열 사용하기 (0) | 2024.06.06 |
[ Python ] 들여쓰기 장점 (0) | 2024.06.06 |
[ Python ] 들여쓰기를 위해서 공백 문자를 사용해야 하는 이유 (0) | 2024.06.06 |