>  기사  >  백엔드 개발  >  python isinstance는 다양한 유형의 작은 세부 사항을 결정합니다.

python isinstance는 다양한 유형의 작은 세부 사항을 결정합니다.

高洛峰
高洛峰원래의
2016-10-19 11:08:421234검색

1. 基本语법

isinstance(object, classinfo)

object 인수가 classinfo 인수 또는 해당 하위 클래스(직접, 간접 또는 가상)의 인스턴스인 경우 true를 반환합니다. 또한 classinfo가 유형 객체(새 스타일 클래스)이고 객체가 해당 유형 또는 해당 유형의 (직접, 간접 또는 가상) 하위 클래스의 객체인 경우에도 true를 반환합니다. object가 클래스 인스턴스나 지정된 유형의 개체가 아닌 경우 함수는 항상 false를 반환합니다. classinfo가 클래스 객체도 아니고 유형 객체도 아닌 경우, 클래스 또는 유형 객체의 튜플이거나 그러한 다른 튜플을 재귀적으로 포함할 수 있습니다(다른 시퀀스 유형은 허용되지 않습니다). classinfo가 클래스, 유형 또는 클래스, 유형 및 해당 튜플의 튜플이 아닌 경우 TypeError 예외가 발생합니다.

 

classinfo 处可以是 클래스, 유형 또는 튜플 클래스 및 유형,

如果是 tuple,则满足 tuple 中的任何一个即返回 True

2. 字符串的类型判断。

字符串,分为 str 과 unicode, ether均继承自 기본 문자열

>>> isinstance(u'3.0', unicode)
True
>>> isinstance('3.0', str)
True
>>> isinstance(u'3.0', str)
False
>>> isinstance(u'3.0', str)
False
>>> isinstance(u'3.0', basestring)
True
>>> isinstance('3.0', basestring)
True

3. 数字类型判断

数字分为 int 와 float, 暂未发现이용자는 效父类입니다.

可以用 (int, float) tuple 来判断是妸数字(int 或플로트)

>>> isinstance('3', (int, float))
False
>>> isinstance(3.0, (int, float))
True
>>> isinstance(3, (int, float))
True
>>> isinstance(3.0, float)
True
>>> isinstance(3.0, int)
False
>>> isinstance(3, float)
False
>>> isinstance(3, int)
True


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.