반응형
type 함수
기본 개념
- 객체의 타입(데이터 형식)을 반환하는 내장 함수
- 특정 객체의 타입을 확인하기 위해 사용
사용법
- type( var ) : 변수 var의 데이터 타입(문자,숫자)을 확인
type 함수 사용 예시
# 숫자 타입 확인
num = 10
print(type(num))
# >>><class 'int'>
# 문자열 타입 확인
text = "Hello, World!"
print(type(text))
# >>> <class 'str'>
# 리스트 타입 확인
my_list = [1, 2, 3, 4, 5]
print(type(my_list))
# >>> <class 'list'>
# 튜플 타입 확인
my_tuple = (1, 2, 3, 4, 5)
print(type(my_tuple))
# >>><class 'tuple'>
# 딕셔너리 타입 확인
my_dict = {"name": "John", "age": 30}
print(type(my_dict))
# >>> <class 'dict'>
형변환 (Type Casting)
기본 개념
- 하나의 데이터 타입을 다른 데이터 타입으로 변환하는 과정을 의미
- 암시적 형변환(Implicit Conversion)과 명시적 형변환(Explicit Conversion)으로 구분
- type(int/str/float) ( var ) : 변수 var의 데이터 타입을 원하는 형태로 변경
형변환을 해야 하는 이유?
프로그렘에서 데이터를 처리하고 조작할 때, 잘못된 결과가 처리될 수 있음
케이스 1 : 원치 않는 값 출력
- 저장된 값이 서로 데이터 타입이 일치하지 않으면 원하는 값이 나오지 않을 수 있음
- 문자열끼리 더하면 문자열이 그대로 합쳐짐
케이스 2 : 연산 오류
- 데이터 타입이 서로 다르면 연산이 되지 않음
실수하기 쉬운 연산 처리, 정확한 연산을 하려면?
- 사용자에게 입력받은 값은 문자열로 저장
- 입력받은 값을 연산 시 숫자 연산이 아닌 문자열 합치기 수행
- 형변환을 통해 정확한 연산 처리
형변환 예시
암시적 형변환
- 일부 연산이나 함수 호출 중에 자동으로 형변환 수행
- 형변환을 따로 하지 않아도 자동으로 형변환이 이루어짐
# 암시적 형변환 예시1) 정수와 부동 소수점 연산
num_int = 10
num_float = 1.1
result = num_int + num_float
print(result)
# 정수와 부동 소수점 수를 더하면 부동 소수점 결과가 나옴
>>> # 11.1
# 암시적 형변환 예시2) 숫자와 불 값 연산
bool_val = True
result = bool_val + 10
print(result)
# 참 값과 숫자를 더하면 참(True)는 1로 해석 (1+10=11)
# >>> 11
# 암시적 형변환 예시3) 리스트와 튜플 연산
my_list = [1, 2, 3]
my_tuple = (4, 5, 6)
result = my_list + my_tuple
print(result)
# 리스트와 튜플을 더하면 새로운 리스트로 생성
# >>> [1, 2, 3, 4, 5, 6]
명시적 형변환
- 명시적으로 데이터 타입을 변환하는 것
# 숫자를 문자열로 형변환
num = 10
str_num = str(num)
# 문자열을 정수로 형변환
str_num = "10"
num = int(str_num)
# 실수를 정수로 형변환
float_num = 3.14
int_num = int(float_num)
# 리스트를 튜플로 형변환
my_list = [1, 2, 3]
my_tuple = tuple(my_list)
# 불을 정수로 형변환
bool_val = True
int_val = int(bool_val)
반응형