관리 메뉴

솜씨좋은장씨

[Python] 파이썬의 특정 객체가 iterable 한지 확인하는 방법! 본문

Programming/Python

[Python] 파이썬의 특정 객체가 iterable 한지 확인하는 방법!

솜씨좋은장씨 2022. 2. 8. 16:31
728x90
반응형

👨🏻‍💻 iterable 객체 ?

iterable 객체는 한 번에 하나의 member를 반환할 수 있는 object (객체)를 의미하며

iterator 로 변환이 가능한 객체를 뜻한다고 합니다.

 

iterable 객체의 형식에는 list, dict, set 이 존재합니다.

 

여러 라이브러리를 활용하여 개발을 하다보면 라이브러리에서 나온 특정 객체가 iterable 한지 그렇지 않은지

확인하고 싶은 경우가 종종 있습니다.

 

이번 글에서는 특정한 객체가 iterable 한지 그렇지 않은지에 대해서 확인하는 방법 2가지를 공유하고자합니다.

👨🏻‍💻 hasattr 메소드를 활용하는 방법

먼저 hasattr을 활용하여 확인하는 방법입니다.

# 확인하고자 하는 객체 == object
hasattr(object, "__iter__")

위와 같이 hasattr을 활용하여 내가 확인하려는 객체 안에 __iter__ 속성이 존재하는지 확인합니다.

 

값이 True 이면 iterable 한 객체 False 이면 iterable 하지 않은 객체 입니다.

👨🏻‍💻 typing의 Iterable를 활용하는 방법

다음으로는 typing의 Iterable를 활용하는 방법입니다.

먼저 typing의 Iterable을 import 시켜줍니다.

해당 방법은 Python 3.5 버전 이상 부터 가능합니다.

from typing import Iterable

그리고 ininstance 를 활용하여 iterable 한지 그렇지 않은지 체크합니다.

# 확인하고자 하는 객체 == object
isinstance(object, Iterable)

값이 True 이면 iterable 한 객체 False 이면 iterable 하지 않은 객체 입니다.

 

읽어주셔서 감사합니다.

Comments