python里既然有了isinstance 函数为什么还需要issubclass函数

xiaoxiao2021-02-28  90

issubclass函数与isinstance 函数比较接近,isinstance 函数是判断一个实例对象与类的关系,issubclass函数判断类与类的关系。

并且isinstance 函数可以接受任何类型实例,但issubclass函数不行,会输出TypeError异常。

# File: builtin-issubclass-example-1.py class A: pass class B: pass class C(A): pass class D(A, B): pass def dump(object): print(object, "=>",) if issubclass(object, A): print("A",) if issubclass(object, B): print("B",) if issubclass(object, C): print("C",) if issubclass(object, D): print("D",) print() dump(A) dump(B) dump(C) dump(D) dump(0) dump("string") 结果输出如下:

= RESTART: D:/work/csdn/python_Game1/example/builtin-issubclass-example-1.py =<class '__main__.A'> =>A<class '__main__.B'> =>B<class '__main__.C'> =>AC<class '__main__.D'> =>ABD0 =>Traceback (most recent call last):  File "D:/work/csdn/python_Game1/example/builtin-issubclass-example-1.py", line 31, in <module>    dump(0)  File "D:/work/csdn/python_Game1/example/builtin-issubclass-example-1.py", line 17, in dump    if issubclass(object, A):TypeError: issubclass() arg 1 must be a class>>> 

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

转载请注明原文地址: https://www.6miu.com/read-85763.html

最新回复(0)