Python: 형식오류 + 형식확인 + 형변환

Frigate·2022년 5월 20일
0

Python 기초문법

목록 보기
13/27

학습목표: 형식오류+형 변환을 익히기, 데이터타입과 함수 익히기


1. 데이터타입과 맞지 않는 데이터를 입혁하면 형식오류(Type Error)가 발생함

num_char = len(input("What is your name?"))
print("Your name has" + num_char + "characters.")

# 실행시, 타입 에러가 뜸. Type Error: can only concaterate str (not "Int") to str
   문자열만 엮을(+) 수 있고, 정수는 + 할 수 없다는 뜻
   결합은 같은 타입끼리만 가능함. 위는 문자열데이터 + 정수데이터 + 문자열데이터 이므로 에러가 뜬 것임



2. type() 형식 확인 함수

괄호 안에 입력된게 어떤타입의 데이터인지 알려주는 함수

num_char = len(input("What is your name?"))
print(type(num_char))

# 실행결과:
  What is your name? Frigate
  <class: 'int'>
# type()함수는 num_chat의 데이터타입이 정수형임을 알려준다.



3. 데이터 형 변환, 캐스팅(데이터 간의 형식 변경)

  • num_char 가 정수형인 것을 알았다. 이제 얘를 문자열로 변경해서 코드가 깨지지 않게 해보자

0단계: num_char = len(input("What is your name?")) 으로 정수형 데이터를 받기

1단계: str(num_char) 해서 num_char 를 문자열형으로 바꿔주기

2단계: new_num_char = str(num_char) 해서 문자열타입이 됀 num_char를 새로운 변수에 저장해주기

3단계: print() 함수에 str 타입으로 변환됀 num_char를 넣어서 + 결합이 가능하게끔 하기

new_num_char = str(num_char)
print("Your name has" + new_num_char + "characters.")  # 모두 Str 타입이니까 출력이 잘 됌
# 실행결과:
  What is your name? Frigate
  Your name has 6 characters.


  • str () 함수는 괄호 안의 객체를 문자열로 변환해줌
a = 123
print(type(a))
# 실행결과: <class 'int'>
a = str(123)
print(type(a))
# 실행결과: <class 'str'>



3-1. 퀴즈. 다음 코드는 뭘 출력할까?

*힌트: 문자열 100.5 를 부동소수형으로 바꾼 뒤에, 이를 70과 더하여 결과를 출력함

a = float(123)
print(type(a))
print(70) + float("100.5"))

# 실행결과: 
<class 'float'>
170.5
print(str(70) + str(100))
# 실행결과: 70100

#유데미 #유데미코리아 #스타트위드유데미 #스터디윗미

profile
Swift

0개의 댓글