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

yipeiwu_com6年前Python基础

Python:type、object、class

Python: 一切为对象

>>> a = 1
>>> type(a)
<class'int'>
>>> type(int)
<class'type'>

type => int => 1

type => class => obj

type是个类,生成的类也是对象,生成的实例是对象

>>>class Student:
>>> pass
>>>
>>>stu = Student()
>>>type(stu)
__main__.Student
>>>Student.__base__
object

Student的基类是obj

>>>class MyStudent(Student):
>>> pass
>>>
>>>MyStudent.__base__
__main__.Student

MyStudent继承Student

MyStudent的基类是Student

object是最顶层的基类

type是个类,同时type也是个对象

>>> type.__base__
object
>>> type(object)
type
>>> object.__bases__
()

object是type的实例

type继承object

我们可以把这些分为3类:

第一类:type自成一类,type是自己的对象(可以实例化自己),type可以把所有变成他的对象

第二类:list、str、Student…类会继承object,list、str、Student…是类,同时也是type的对象。object是所有的基类(一切都继承object)

第三类:生成的对象

Python 内置类型

对象的三个特征:

身份

类型

身份:每个对象身份均不同

>>> a = 1
>>> id(a)
4333971504
>>> a = {}
>>>id(a)
4393125064

类型

None(全局只有一个)

数值

int

float

complex(复数)

bool

迭代类型

序列类型

list

bytes、bytearray、memoryview(二进制序列)

range

tuple

str

array

映射(dict)

集合

set

frozenset

上下文管理类型(with)

其他

模块类型

class和实例

函数类型

方法类型

代码类型

object对象

type类型

ellipsis类型

notimplemented类对象

None类型:Python在程序启动的时候会生成一个None对象

>>> a = None
>>> b = None
>>> id(a) == id(b)
True

以上这篇Python:type、object、class与内置类型实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

利用Django提供的ModelForm增删改数据的方法

上一篇我们写了Django基于类如何增删改数据的方法,方法虽然简单,但新手可能对其原理不是很清楚,那么我们这次就用Django提供的ModelForm方法来实现增删改数据,这是一种基于现...

python模块简介之有序字典(OrderedDict)

有序字典-OrderedDict简介 示例 有序字典和通常字典类似,只是它可以记录元素插入其中的顺序,而一般字典是会以任意的顺序迭代的。参见下面的例子: import collect...

Pipenv一键搭建python虚拟环境的方法

Pipenv一键搭建python虚拟环境的方法

由于python2和python3在部分语法上不兼容, 导致有人打趣道:"Python2和Python3是两门语言" 对于初学者而言, 如果同时安装了python2和python3, 那...

跟老齐学Python之从格式化表达式到方法

现在我们就格式化方法做一个详细一点的交代。 基本的操作 所谓格式化方法,就是可以先建立一个输出字符串的模板,然后用format来填充模板的内容。 复制代码 代码如下: >>&...

Python实现判断一行代码是否为注释的方法

目前的编辑器大都可以自动检测某一行代码是否为代码行或注释行,但并不太提供代码行/注释行行数的统计,对于大量代码文件的代码行/注释行统计,就更少见一些。本篇文章试用一段Python脚本来实...