프로그래밍 언어/Python

Python에서 유형을 확인하는 표준 방법

Rateye 2021. 9. 30. 10:46
728x90
반응형
질문 : Python에서 유형을 확인하는 표준 방법은 무엇입니까?

주어진 객체가 주어진 유형인지 확인하는 가장 좋은 방법은 무엇입니까? 객체가 주어진 유형에서 상속되는지 확인하는 것은 어떻습니까?

o 가 있다고 가정 해 봅시다. str 인지 어떻게 확인합니까?

답변

있는지 확인하려면 o 의 인스턴스 str 또는 서브 클래스 str , 사용 isinstance은 (이것은 "표준"방법이 될 것이다)

if isinstance(o, str):

o 의 유형이 정확히 str 인지 확인하려면 (서브 클래스 제외) :

if type(o) is str:

다음도 작동하며 경우에 따라 유용 할 수 있습니다.

if issubclass(type(o), str):

관련 정보는 Python 라이브러리 참조의 내장 함수를 참조하십시오.

참고 :이 경우 Python 2를 사용하는 경우 실제로 다음을 사용할 수 있습니다.

if isinstance(o, basestring):

이것은 또한 유니 코드 문자열을 포착하기 때문입니다 ( unicode str 의 서브 클래스가 아닙니다 strunicode 는 둘 다 basestring 서브 클래스입니다). basestring 더 이상 Python 3에 존재하지 않으며 문자열 ( str )과 바이너리 데이터 ( bytes )를 엄격하게 구분합니다.

또는 isinstance 는 클래스 튜플을 허용합니다. o (str, unicode) 의 하위 클래스 인스턴스이면 True 를 반환합니다.

if isinstance(o, (str, unicode)):
출처 : https://stackoverflow.com/questions/152580/whats-the-canonical-way-to-check-for-type-in-python
728x90
반응형