我们在获取某个对象的时候,如果不知道这个是什么类型的对象,一般我们用 type 来查询是什么类型:
data = "Hello"
print(type(data))
而一般type返回的基本类型包括:
如果是要写判断是否是这种类型的时候,可以用isinstance来判断【是】或者【否】,这个时候我们就得知道,常用的数据类型有哪些?
以下是一些常用的数据类型及其判断方法:
TypeError: isinstance() arg 2 must be a type or tuple of types
所以要用下面的判断方式:
i = None
if i is None:
print("i 为空")
- 字节序列:
bytes和bytearray
bytes和bytearray也可以用isinstance() 来做判断
data = b"Hello, World!"
if isinstance(data, bytes):
print("data is a bytes")
bytearray:
ba = bytearray([71, 101, 108, 108, 111])
if isinstance(ba , bytearray):
print("ba 是字节序列")
具体关于bytes和bytearray的详细说明,可以参考:
- 自定义类类型: 可以通过自己定义类,来创建新的数据类型。
我们也可以用isinstance() 函数,去判断某个对象是不是属于自己写的类里面,如果属于则可以进入下一步,这样方便做类的管理。class MyClass:
pass
obj = MyClass()
if isinstance(obj, MyClass):
print("obj is an instance of MyClass")
通常,isinstance() 函数是进行类型判断的首选方法,因为它支持继承,可以检查一个对象是否是某个类的实例或其子类的实例。而 type() 函数则用于获取对象的确切类型,不考虑继承关系。