서비스 기획자의 성장기록

[Python 기초] Error 모음 본문

Python/Python 기초

[Python 기초] Error 모음

Jenny Noh 2023. 10. 27. 10:33
직접 코딩하면서 만난 오류들을 모아놓는 곳으로 계속 업데이트 됩니다. 😀

 

 # TypeError  

1. list.sort( )는 return 값이 없다.

list.sort()의 결과를 print하려고 하면 None이 반환된다. list의 sort() 함수는 값을 반환하는 함수가 아니기 때문이다. 

하지만 파괴적인 함수로 원본의 리스트를 정렬한다.

 

따라서 리스트의 정렬된 결과값을 출력하고 싶으면:

1) list.sort( ); print(list) 형태로 나눠서 쓰거나

2) 반환값이 있는 sorted 내장함수를 사용한다!

* sorted(list, reverse=True)

 

 

 

 # IndexError  

1. list[len(list)] 는 index out of range!

예를 들어 a = [1, 2, 3] 이라는 리스트가 있을 때, len(a) = 3 이지만 a 리스트의 마지막 요소의 인덱스 값은 len(a)-1이다!

* 파이썬의 인덱스는 0부터 시작하니까...

리스트의 마지막 요소 = list[len(list)-1] !!!!! 기억하자!

 

 

 

 #  AttributeError  

1. NoneType object의 group() attribute

정규표현식으로 패턴을 지정할 때 '\d'를 '/d'로 잘못 써서 해당 패턴에 상응하는 객체를 찾지 못했다.

그래서 s = None이 반환됐는데 이걸 group()으로 프린트 하라고 하니까 'NoneType' object has no attribute 'group'이라는 에러가 뜬 것! 🤯

이렇게 고치면 정상적으로 나온다 🥳

2. findall() 함수는 리스트를 반환한다.

re.findall() 함수는 결과를 리스트로 반환하기 때문에 "'list' object has no attribute 'group'"이라는 에러문이 뜬다.

 

 

 # 기타 Error  

1. bad character in group name

정규 표현식에서 그룹 이름 지정 (?P<group name>) 할 때, 두 번째 그룹의 이름을 'phone number'로 사용했더니 에러가 발생했다.

공백이 포함돼서 발생한 에러. 아래와 같이 phone_number로 공백을 없애주면 정상적으로 출력이 된다.

 

 # ?? Error