Python语言__bases__,__subclasses__(),issubclass(),__class__,type(),isinstance(),id(),is运算符的详解

继承

如果您想知道当前子类继承自哪个父类,可以使用__bases__属性

>>> int.__bases__
(<class 'object'>,)
>>> object.__bases__
()

如果您想知道当前类的所有子类有哪些,可以使用__subclasses__()方法

>>> int.__subclasses__()
[<class 'bool'>, <enum 'IntEnum'>, <enum 'IntFlag'>, <class 'sre_constants._NamedIntConstant'>]

如果您想知道两个类是否存在继承关系,可以使用issubclass()函数

>>> issubclass(bool,int)
True

对象

每个对象都有各自的编号、类型和值。一旦对象被创建后,它的 编号 就绝不会改变;你可以将其理解为该对象在内存中的地址。

如果您想知道当前对象是哪个类的实例或者说是当前对象是什么类型,可以使用__class__属性或type()函数

>>> a = 5
>>> a.__class__
<class 'int'>
>>> int.__class__
<class 'type'>
>>> object.__class__
<class 'type'>
>>> type(5)
<class 'int'>
>>> type(int)
<class 'type'>
>>> type(object)
<class 'type'>

如果您想知道某个对象是否是某个类的实例时,可以使用isinstance()函数

>>> isinstance(5,int)
True

如果您想知道代表对象其编号的整型数,可以使用id() 函数

>>> a = "hello"
>>> id(a)
140410100867376

如果您想比较两个对象的编号是否相同,可以使用is运算符

>>> a = "hello"
>>> id(a)
140410100867376
>>> b = "hello"
>>> id(b)
140410100867376
>>> print(a is b)
True

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/pythone/5814.html

(1)
上一篇 2021年8月6日 12:59
下一篇 2021年8月8日 13:48

相关推荐

  • python -m mod的发展演变

    首先,让我们用“python –help”来看看它的解释: “mod”是“module”的缩写,即“-m”选项后面的内容是 module(模块),其作用是把模块当成脚本来运行。 “terminates option list”意味着“-m”之后的其它选项不起作用,在这点上它跟“-c”…

    Python经验 2020年11月23日
    06720
  • Python之禅(The Zen of Python)

    Python之禅 最早由 Tim Peters在Python邮件列表中发表,它包含了影响Python编程语言设计的19条软件编写原则。在最初及后来的一些版本中,一共包含20条,其中第20条是“这一条留空(…)请 Guido 来填写”。这留空的一条从未公布也可能并不存在。这些文本…

    Python经验 2020年11月17日
    09320
  • Python语言内置函数range()的介绍

    内置函数 range() 常用于遍历数字序列,生成的序列不包含给定的终止数值。

    Python经验 2021年8月8日
    03630

发表评论

登录后才能评论