본문 바로가기

파이썬초보

(6)
[Python초보] ValueError: invalid literal for int() with base 10: '' invalid literal for int() with base 10: '' 10진수 int() 로 변환할 수 없는 문자열: '' 이라는 뜻입니다. 한번 이 에러를 만들어 봅시다. >>> num = int("1000") >>> num 1000 "1000" 이라는 문자열을 숫자형으로 변환하여 num 이란 변수에 넣는 코드입니다. "1000"이라는 문자열은 정수를 나타내는 문자열이기 때문에, 문제없이 변환됩니다. >>> s = "abc" >>> num = int(s) Traceback (most recent call last): File "", line 1, in num = int(s) ValueError: invalid literal for int() with base 10: 'abc' "abc" 라는 문..
[파이썬초보] AttributeError: 'NoneType' object has no attribute 이런 에러에 대해 질문을 하는 걸 자주 봐서 포스팅을 하나 만들어 놓습니다. 에러메시지를 해석해 보면, "'NoneType' 객체는 ~~ 애트리뷰트가 없습니다."라는 뜻입니다. NoneType 객체는 사실 None 입니다. 파이썬의 None 은 자바나 C의 Null 같은 것입니다. 그래서 결국 None.someattr 이런식의 코드가 유효하지 않기 때문에 발생하는 에러입니다. 제가 만든 예제를 보고 이해해 보도록 합시다. >>> class dummy: def bark(self): print("dum dum") >>> def get_dummy(n): if n > 10: return dummy() return >>> d = get_dummy(21) >>> d.bark() dum dum >>> d2 = get..
[Python] TypeError: unsupported operand type(s) for 파이썬 초보가 겪을 수 있는 에러입니다. unsupported operand type : 지원되지 않는 피연산자 타입 으로 번역이 됩니다. 파이썬의 기본연산이 불가능한 타입끼리 연산을 하려고 할 때 발생합니다. 예를 들어, 문자열에 숫자를 더하거나 뺄 수는 없을 것입니다. 이럴 때 발생합니다. 예를 몇 개 봅시다. >>> 1 + "3" Traceback (most recent call last): File "", line 1, in 1 + "3" TypeError: unsupported operand type(s) for +: 'int' and 'str' 숫자 1과 문자열 "3"을 더하려 했기 때문에 에러가 발생했습니다. >>> a = input() 3 >>> a '3' >>> 1 + a Tracebac..
[파이썬초보] TypeError: 'NoneType' object is not subscriptable not subscriptable 은 var[ ] 와 같이 생긴 부분에서 에러가 났다는 말임. >>> a = 1 >>> b = 22.1 >>> c = 'abc' >>> c[1] 'b' >>> a[1] Traceback (most recent call last): File "", line 1, in a[1] TypeError: 'int' object is not subscriptable >>> b[1] Traceback (most recent call last): File "", line 1, in b[1] TypeError: 'float' object is not subscriptable 위 예제에서 a[1] 에서 'int' object is not subscriptable 이란 에러가 발생했다. a = ..
[Python초보] SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape 파이썬 초보들이 겪을 수 있는 문제이다. 이런 에러메시지를 만났다면, 코드 중에 `"C:\Users\xxxxx\...."` 이런 식의 파일경로를 찾아서, 그 경로의 `\`를 모두 `\\`로 바꾸어 실행하면 문제가 해결될 것이다. 아래는 idle에서 에러를 발생시켜 본 것 >>> p = 'C:\Users\dwyoo\sample.txt' SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncate..
[Python] WARNING: You are using pip version xx.xx.xx; however, version yy.yy.yy is available. WARNING: You are using pip version 20.2.4; however, version 20.3.3 is available. You should consider upgrading via the 'C:\Programs\Python3964\python.exe -m pip install --upgrade pip' command. 파이썬에서 패키지를 인스톨하기 위한 pip install 명령을 실행했을 때, 제목과 같은 "경고"메시지가 발생할 때가 있다. 일단, "경고" 메시지이므로, 이 메시지는 당신이 원래 설치하려던 패키지가 설치되었는지와는 (일반적으론) 상관이 없다. (버전의 차이가 너무너무 심하게 난다면, pip 버전이 낮아서 설치가 안 되었을 수도 있었다. 하지만 2021년 기준으로..