- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
>>> import sys
>>> sys.version_info
(2, 4, 4, 'final', 0)
>>> class C:
... pass
...
>>> issubclass(C, C)
True
>>> issubclass(C, object)
False
>>> class T(object):
... pass
...
>>> issubclass(T, T)
True
>>> issubclass(T, object)
True
>>>
问题1>为什么C
是C
的子类?
问题2>C
的基类是什么?
谢谢
//Chris Morgan 的更新(至少对我来说,以下手册根本没有帮助)
>>> help(issubclass)
Help on built-in function issubclass in module __builtin__:
issubclass(...)
issubclass(C, B) -> bool
Return whether class C is a subclass (i.e., a derived class) of class B.
When using a tuple as the second argument issubclass(X, (A, B, ...)),
is a shortcut for issubclass(X, A) or issubclass(X, B) or ... (etc.).
最佳答案
看看issubclass(class, classinfo)文档
Return true if class is a subclass (direct, indirect or virtual) of classinfo. A class is considered a subclass of itself. classinfo may be a tuple of class objects, in which case every entry in classinfo will be checked. In any other case, a TypeError exception is raised.
并检查 C 的基类使用 inspect.getmro(cls)功能。
Return a tuple of class cls’s base classes, including cls, in method resolution order.
>>> class C(object):
... pass
...
>>> inspect.getmro(C)
(<class '__main__.C'>, <type 'object'>)
>>>
关于python - issubclass 的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9238181/
我有一段代码在大部分时间都运行得很好,但每隔一段时间我就会在回溯中遇到这个错误: File "/path/to/somefile.py", line 272, in somefile sm =
我试图找出为什么 issubclass() 的行为会根据类的导入方式发生变化。 我有以下设置 proj |_pkg |_ __init__.py |_ base.py |_ child.p
>>> import sys >>> sys.version_info (2, 4, 4, 'final', 0) >>> class C: ... pass ... >>> issubclas
我有一个 class A没有属性,我测试它是否是 typing.Container 的子类.正如预期的那样,该测试失败了。 在单独的测试中,我添加了 __contains(self, k)__属性到
好的,所以我正在编写一个框架,它在名为 task.py 的子目录中查找 python 文件,然后查找从基类 Task} 但是当我注释掉 Base 类(Task1 的基类)中的 __metaclass_
目的是实现某种插件框架,其中插件是同一基类(即 A)的子类(即 B)。基类使用标准导入加载,而子类使用 imp.load_module() 从知名包(即 pkg)的路径加载。 pkg/ __i
from collections import * class C(object): def __iter__(self): pass def __contains__(self, i
我正在开发一个 Python 应用程序,我需要多次检查对象是否是数据库模型的子类。 我做了我自己的功能来做到这一点: def isModel(obj): return isinstance(o
你如何解释 isinstance(Hello,object) 返回 True 而 issubclass(Hello,object) 返回 False? >>> class Hello: pas
在 Python 中,比较运算符 -- , >= -- 可以实现表示与实现类相关的任何内容。在 Python 2 中,这是通过重写 __cmp__ 完成的。 ,并在 Python 3 中重写 __l
已安装的版本: python-openstackclient==3.17.0 osc-lib==1.11.1 除以下命令外,所有 openstack 命令似乎都有效: openstack stack
我有一些 Django 模型,比如说 class Foo(models.Model): class Meta: abstract = True class Bar(Foo)
我对为什么会收到此错误一无所知。 最佳答案 正如人们所说,issubclass() 的两个参数应该是类,而不是对象的实例。 考虑这个样本: >>> issubclass( 1, int ) Trace
我有一个包含 List 属性的类.其中一些属性,T 属于从类继承的类,例如 Foo。 public class Foo {} public class MyTypeA : Foo {} public
几个月来我一直在使用同一个类来连接到 SQL Server 数据库、运行查询、将数据插入暂存表等。就在昨天,每当我的代码尝试插入暂存表时,我都会收到错误消息: TypeError: issubclas
我正在使用 Django 2.1.5 和 pycharm。从 Pycharm 运行测试时,我开始收到此错误: File "/Users/..../lib/python3.6/site-packages
当使用 FastAPI 和 SQLModel 进行模块化导入时,如果我打开/docs,我会收到以下错误: TypeError: issubclass() arg 1 must be a class p
当使用 FastAPI 和 SQLModel 进行模块化导入时,如果我打开/docs,我会收到以下错误: TypeError: issubclass() arg 1 must be a class p
我有一个模块 InvalidObj class InvalidObj(Exception): def__init__(self, value): self.value = va
在 CPython 中如下 import collections issubclass(dict, collections.Mapping) 返回 True。这让我有点困惑,因为 dict 是 CTy
我是一名优秀的程序员,十分优秀!