首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >issubclass的用法

问issubclass的用法
EN

Stack Overflow用户
提问于 2012-02-11 05:50:48
回答 3查看 8.2K关注 0票数 4
代码语言:javascript
复制
>>> 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 (至少对我来说,下面的手册根本没有帮助)

代码语言:javascript
复制
>>> 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.).
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-11 05:54:08

看一看issubclass(类,classinfo)文档

如果类是classinfo的子类(直接、间接或虚拟),则返回true。类本身被认为是子类。classinfo可能是类对象的一个元组,在这种情况下,将检查classinfo中的每个条目。在任何其他情况下,都会引发TypeError异常。

并使用Inspect.getmro(中国)函数检查C的基类。

按方法解析顺序返回类cls的基类(包括cls)的元组。

代码语言:javascript
复制
   >>> class C(object):
...        pass
...
>>> inspect.getmro(C)
(<class '__main__.C'>, <type 'object'>)
>>>
票数 7
EN

Stack Overflow用户

发布于 2012-02-11 06:09:46

这个链接中的http://docs.python.org/library/functions.html#issubclass,“类被认为是自身的一个子类。”

为了回答第二个问题,C是一个“旧样式”类,所以它不是对象的子类。如果您想要一个新的样式类,请将对象包含为超类。有关更多信息,请参见http://www.python.org/doc/newstyle/。

票数 2
EN

Stack Overflow用户

发布于 2012-02-11 06:12:34

http://docs.python.org/library/functions.html#issubclass

  1. 类本身被认为是子类。
  2. C没有基类。 打印C.__bases__ ()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9238181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档