Python 반복성 감지: iter 및 Duck-Typing
Python에서는 객체가 반복 가능한지 여부를 결정하는 것이 중요합니다. 프로그램 작성. iter 메서드 확인과 같은 솔루션이 존재하지만 포괄적이지 않을 수 있습니다. 이 기사에서는 반복성을 검증하고 완벽한 구현을 보장하는 대체 접근 방식을 살펴봅니다.
1. 예외 처리:
예외 처리를 통해 반복 불가능한 객체를 정상적으로 감지할 수 있습니다. iter() 내장 함수는 문자열(Python 3 이상)을 포함하여 iter 및 getitem 메서드를 모두 확인합니다. try/exc 블록을 사용하면 TypeError 예외를 처리하여 반복 불가능한 객체를 식별할 수 있습니다.
try: some_object_iterator = iter(some_object) except TypeError as te: print(some_object, 'is not iterable')
2. EAFP를 사용한 덕 타이핑:
EAFP(Easier to Ask Forgiveness than Permission)는 반복 가능성을 가정하고 예외를 우아하게 처리하는 Python 방식입니다. 객체의 반복 능력을 검사함으로써 명시적인 유형 검사를 피할 수 있습니다.
try: _ = (e for e in my_object) except TypeError: print(my_object, 'is not iterable')
3. 추상 기본 클래스:
컬렉션 모듈은 특정 기능을 확인할 수 있는 추상 기본 클래스를 제공합니다. Iterable은 반복 가능성을 결정할 수 있는 클래스 중 하나입니다. 그러나 __getitem__을 통해 반복 가능한 객체에는 적합하지 않을 수 있습니다.
from collections.abc import Iterable if isinstance(e, Iterable): # e is iterable
위 내용은 Python에서 반복 가능한 개체를 어떻게 안정적으로 감지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!