`
rockkyle
  • 浏览: 10798 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

python object和type

 
阅读更多

一、object和type的关系

首先了解2条规则

1.若x是A的一个实例,且A是B的子类,那么x也是B的一个实例

2.若B是M的实例,且A是B的子类,那么A也是M的一个实例

首先type为object的子类,(A=type,B=object)

>>> issubclass(type,object)
True

其次object是type的实例(x=object,A=type)

>>> isinstance(object,type)
True

 规则1得出object是object的实例(B=object,M=object)

>>> isinstance(object,object)
True

 规则2得出type是object的实例

>>> isinstance(type,object)
True

 同样可以得到type是type自己实例

 

>>> isinstance(type,type)
True

 PS:python中所有类都是自己本身的子类

>>> class A:
...     pass
... 
>>> issubclass(A,A)
True

 二、object和python中的对象和类

python中的所有对象都是object的实例,所有类都是object的子类(除了旧式类)

>>> class A:
...     pass
... 
>>> type(A)
<type 'classobj'>
>>> isinstance(A,object)
True
>>> issubclass(A,object)
False

 PS:新式类与旧式类的区别

声明上:

>>> class A(object):
...     pass
... 
>>> class A:
...     pass
... 

  规则:

旧式类是广度优先

class A:
        value="a"
class B(A):
        pass
class C(A):
        value="c"
class D(B,C):
        pass
d=D()
print d.value

结果为“a",搜索基类为深度优先

新式类:

class A(object):
        value="a"
class B(A):
        pass
class C(A):
        value="c"
class D(B,C):
        pass
d=D()
print d.value

 结果为“c",广度优先

PS:p y3.0中2种声明都为新式类,若要声明旧式类,括号中需制定为旧式类

分享到:
评论

相关推荐

    详解Python中的type和object

    在Python编程语言中,`type`和`object`是两个至关重要的概念,它们构成了Python对象系统的基础。本文将深入探讨这两个概念以及它们之间的关系。 首先,`type`是Python内置的类型检查函数,用于确定一个变量的类型。...

    Python 3 Object-Oriented Programming, Second Edition.pdf

    本书《Python 3 Object-Oriented Programming, Second Edition》是一本专门介绍Python 3面向对象编程的书籍。从标题和描述中,我们可以提炼出以下知识点: 1. Python 3编程语言:本书专注于Python语言的第三个主要...

    Python:type、object、class与内置类型实例

    Python:type、object、class Python: 一切为对象 &gt;&gt;&gt; a = 1 &gt;&gt;&gt; type(a) &gt;&gt;&gt; type(int) type =&gt; int =&gt; 1 type =&gt; class =&gt; obj type是个类,生成的类也是对象,生成的实例是对象 &gt;&gt;&gt;class Student: &gt;&gt;&gt; pass &gt;...

    Python的类型和对象

    Python的类型和对象是Python编程基础的重要组成部分,深入理解它们对于编写高效、可靠的代码至关重要。在Python中,一切皆为对象,每个对象都有其特定的类型,并且可以通过类型检查和对象交互来实现各种功能。 首先...

    Python类型和对象(20210930180213).pdf

    文件中提到了`&lt;type 'type'&gt;`和`&lt;type 'object'&gt;`,这是Python中的元类(metaclass)和对象的基本类型。元类是“类的类”,即用于创建其他类的类。在Python中,所有的新式类最终都是由`&lt;type 'type'&gt;`这个元类创建的...

    详解Python中的type()方法的使用

    - **object**:任何Python对象都可以作为参数传递给`type()`,包括基本数据类型(如int、float、str)、复合数据类型(如list、tuple、dict等)。 #### 返回值 `type()`函数返回的是对象的类型,通常是`...

    python3.6.5.tar.gz

    13. **元编程**:Python支持元编程,如`__getattr__`、`__setattr__`等特殊方法,以及`type`和`metaclass`概念,这些在`Objects`目录的类对象实现中体现。 14. **Python标准库的模块化**:Python标准库中的每个模块...

    Python-2.7.2 源代码

    4. 类和对象机制(`Objects/`目录下的`classobject.c`、`typeobject.c`等):这部分展示了Python如何实现面向对象编程,包括类的创建、继承和实例化。 5. 文件系统和I/O操作(`Modules/_io/`目录):Python的文件...

    python入门教程大全.pdf 精心整理

    3. **Python基础常识**:涵盖Python的基础语法,如变量定义、数据类型(包括列表、字典)、注释方式(单行和多行注释)、类型检查(`type`和`object`的用法)等。 4. **中文字符输出乱码**:在Python3中,需要正确...

    python中基础知识和练习

    6. **面向对象编程**:Python支持类(class)和对象(object)的概念,可以实现封装、继承和多态,为复杂问题提供结构化的解决方案。 7. **文件操作**:Python提供了丰富的文件I/O函数,可以读写文本文件、二进制文件,...

    Python-Graphene是Python的GraphQL框架

    class Person(graphene.ObjectType): name = graphene.String() age = graphene.Int() ``` 3. **定义Schema**: 创建GraphQL Schema,包括根查询和根突变。 ```python schema = graphene.Schema(query=Person)...

    python学习笔记-初识python

    Python是完全面向对象的语言,支持类(class)、对象(object)、继承(inheritance)、封装(encapsulation)和多态(polymorphism)等特性。 九、标准库与第三方库 Python拥有丰富的标准库,如os、sys、math等,同时社区有...

    Python 使用type来定义类的实现

    标题和描述中提到的知识点是关于在Python中使用内置的type函数来动态地定义类。这种技术在Python编程中是一种高级特性,允许程序员在运行时创建新的类型。在标准的Python类定义中,类的创建是通过class关键字来完成...

Global site tag (gtag.js) - Google Analytics