当我们使用python的内置的数据类型:整数、列表或字典时,很方便就可以使用type函数来判断类型。如果使用到自定义的类,以及类实例是否就可以呢?其实所有自定义的类都是一个类型,没有办法区别,所以需要使用isinstance函数来判断类实例变量属于哪一个类产生的。
# File: builtin-isinstance-example-1.py
class A:
pass
class B:
pass
class C(A):
pass
class D(A, B):
pass
def dump(object):
print(object, "=>",)
if isinstance(object, A):
print( "A",)
if isinstance(object, B):
print( "B",)
if isinstance(object, C):
print( "C",)
if isinstance(object, D):
print( "D",)
print
a = A()
b = B()
c = C()
d = D()
dump(a)
dump(b)
dump(c)
dump(d)
dump(0)
dump("string")
输出结果如下:
= RESTART: D:/work/csdn/python_Game1/example/builtin-isinstance-example-1.py =<__main__.A object at 0x0000023F4DD724A8> =>A<__main__.B object at 0x0000023F4DDB9780> =>B<__main__.C object at 0x0000023F4DDB9C18> =>AC<__main__.D object at 0x0000023F4DDB9C50> =>ABD0 =>string =>>>>
Python游戏开发入门
http://edu.csdn.net/course/detail/5690
你也能动手修改C编译器
http://edu.csdn.net/course/detail/5582
纸牌游戏开发
http://edu.csdn.net/course/detail/5538
五子棋游戏开发
http://edu.csdn.net/course/detail/5487RPG游戏从入门到精通http://edu.csdn.net/course/detail/5246WiX安装工具的使用http://edu.csdn.net/course/detail/5207俄罗斯方块游戏开发http://edu.csdn.net/course/detail/5110boost库入门基础http://edu.csdn.net/course/detail/5029Arduino入门基础http://edu.csdn.net/course/detail/4931Unity5.x游戏基础入门http://edu.csdn.net/course/detail/4810TensorFlow API攻略http://edu.csdn.net/course/detail/4495TensorFlow入门基本教程http://edu.csdn.net/course/detail/4369C++标准模板库从入门到精通 http://edu.csdn.net/course/detail/3324跟老菜鸟学C++http://edu.csdn.net/course/detail/2901跟老菜鸟学pythonhttp://edu.csdn.net/course/detail/2592在VC2015里学会使用tinyxml库http://edu.csdn.net/course/detail/2590在Windows下SVN的版本管理与实战 http://edu.csdn.net/course/detail/2579Visual Studio 2015开发C++程序的基本使用 http://edu.csdn.net/course/detail/2570在VC2015里使用protobuf协议http://edu.csdn.net/course/detail/2582在VC2015里学会使用MySQL数据库http://edu.csdn.net/course/detail/2672