반응형
우선 파이썬을 다시 복습하면서. 나오는 에러들은 기본적으로 정리를 해야겟다고 생각이 든다
특히 기본적으로 형변환을 할 때 가장 많이 만나는 에러인
"ValueError: invalid literal for int() with base10: " 에러인데
해당 에러는
int(), float(), str(). boolean() 등에서 원하는 형이 들어오지 않았을 때 에러를 알려준다
>>> e = '7.23'
>>> type(e)
<class 'str'>
>>> int(e)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '7.23'
변수 'e' 에는 실수 '문자열'을 넣어주었다
type()을 통해 'e'는 문자열인 것을 바로 확인 할 수가 있는데.
형 변환이 맞지 않는 것을 사용하여 이렇게 나온다
실수 문자열을 바로 int 에 넣어주었기 때문인데...
일반 실수를 int 로 형을 바꾸어 주면 바로 적용이 되지만,
>>> e= 7.23
>>> int(e)
7
하지만, 위에 e 는 '문자열'이 포함된 실수이기 때문에 바로 int 로 변형이 어려워 위의 형변환 에러가 뜨는 것이다.
이를 int 로 바꾸기 위해서는
>>> e = '7.23'
>>> type(e)
<class 'str'>
>>> b = float(e)
>>> type(b)
<class 'float'>
>>> int(b)
7
실수 문자열을 먼저 float 형으로 바구어주고 그 다음에 int 로 바꾸어주어야 한다.
위 에러는 형 변환에 문제가 발생하여 생기는 에러이니 잘 참고해두자
자세한 사항은 한주현님의 블로그에서 다시 한번 확인 할 수 있다.
https://korbillgates.tistory.com/94
반응형