반응형
파이썬으로 코딩테스트 대비 알고리즘 공부하던 도중 TypeError: reverseList() missing 1 required positional argument: 'head’ 에러를 만났다. 연결리스트를 공부하던 부분이었는데, 코드가 맞다고 생각하고 있었는데 대체 뭐가 문제인지 전혀 모르겠더라...
에러로그를 보면 인자가 하나 부족하다고 하는데 대체 뭐가 부족한거지??
구글링을 해봐도 관련 내용을 찾기가 굉장이 어려웠는데 다행히 항해99의 수강생분들 중 능력자이신 분에게 도움을 요청해서 간단하게 해결했고 앞으로의 실수를 방지하기 위해 삽질로그를 작성해보기로 했다.
문제 - missing 1 required positional argument: 에러
에러가 떳던 전체 코드는 다음과 같다
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def reverseList(self, head: ListNode) -> ListNode:
node, prev = head, None
while node:
next, node.next = node.next, prev
prev, node = node, next
return prev
# 연결리스트 간단하게 생성하기
head = ListNode(1)
head.next = ListNode(2)
head.next.next = ListNode(3)
head.next.next.next = ListNode(4)
head.next.next.next.next = ListNode(5)
# 함수 호출
reverseList(head)
해결
원인은 생각보다 간단했다. 파이썬의 클래스와 함수에 대한 이해도가 부족해서 생기는 에러였다.
reverseList 함수 부분을 보면 인자로 self와 head를 받는데, 알고보니 self 인자는 클래스 내부에서 함수를 생성할 때에만 사용하는 인자였다. 클래스에서 함수를 생성하면 클래스 자체가 self 인자에 값을 넣어주는데, 클래스 없이 함수만 생성을 했을 때에는 self인자가 필요 없다고 한다.
self부분을 지워주니 간단하게 해결!!
반응형
'Study > Trouble Shooting' 카테고리의 다른 글
[삽질로그] Entity 관련 삽질 (0) | 2022.06.08 |
---|---|
[삽질로그] 깃 잔디가 안심어지는 문제 (0) | 2022.05.16 |
[삽질로그] Unsupported class file major version 61 에러 (0) | 2022.04.03 |
[삽질로그] Mybatis String -> LocalDate 형변환 에러 (0) | 2022.02.22 |
[삽질로그] Mybatis를 이용하여 MySQL 연동하기 삽질로그 (0) | 2022.02.20 |