티스토리 뷰

반응형

초보자가 범하기 쉬운 리스트연산 오류 


다음과 같은 소스 코드를 입력했을 때 결과 값은 어떻게 나올까?

1
2
>>> a = [1,2,3]
>>> a[2+ fun
cs

a[2]의 값인 3과 문자열 fun이 더해져 3fun이 출력될 것이라고 생각할 수 있다. 

하지만 직접 실행을 해보면 다음과 같이 에러가 형 오류(TypeError가 발생했음을 알수 있다. 오류의 원인이 무었일까?

1
2
3
4
5
6
Traceback (most recent call last):
  File "<stdin>", line 1in <module>
NameError: name 'fun' is not defined
>>> 
 
 
cs


a[2]에서 저장된 값은 3이라는 정수인데 "fun"은 문자열이다. 정수와 문자열은 당연히 서로 더할수 없기 때문에 형오류가 발생한 것이다. 

만약 숫자와 문자열을 더해서 3fun처럼 만들고 싶다면 숫자3을 문자'3'으로 바꿔줘야 한다. 

1
2
3
>>> str(a[2]) + "fun"
'3fun'
>>> 
cs


str()은 정수나 실수를 문자열의 형태로 바꾸어 주는 파이썬의 내장함수 이다. 

제 포스팅이 도움이 되셨다면

로그인이 필요없는 ↓♡공감↓ 꾸~욱 부탁드려요^^ 

더 나은 포스팅에 큰 힘이 됩니다.



반응형
댓글