반응형
질문
이는 입력이 list
/tuple
이지만 str
은 아님을 확인하기 위해 일반적으로 수행하는 작업입니다. 때때로 함수가 실수로 str
객체를 전달하는 버그를 발견하곤 하는데, 대상 함수는 lst
가 실제로 list
또는 tuple
임을 가정하고 for x in lst
를 수행합니다.
assert isinstance(lst, (list, tuple))
제 질문은: 이를 더 잘 달성할 수 있는 방법이 있을까요?
답변
파이썬 2에서만 (파이썬 3에서는 아님):
assert not isinstance(lst, basestring)
이게 실제로 원하는 것이에요. 그렇지 않으면 list
나 tuple
의 하위 클래스가 아니지만 리스트처럼 동작하는 많은 것을 놓칠 수 있어요.
반응형
댓글