python系列三——python对象

1,python对象拥有三个特性:身份、类型和值。
身份:
每一个对象都有一个唯一的身份标识自己,任何对象的身份都可以使用内建函数id()来得到,这个值可以被认为是该对象的内存地址。
类型:
对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。可以通过内建函数type()查看python对象的类型。
值:
对象表示的数据项。
对象属性:
一般是指函数或者方法,但也有数据属性,有数据属性的对象包括:类、类实例、模块、复数和文件。
2,标准类型

*  数字(分为几个子类型,其中三个是整形)
* 整形
* 布尔型
* 长整型
* 浮点型
* 复数型
* 字符串
* 列表
* 元祖
* 字典

3,其他内建类型

* 类型
* Null对象(None)
* 文件
* 集合/固定集合
* 函数/方法
* 模块
* 类

3.1 类型对象和type类型对象


图片.png

<class 'int'>是一个类型对象


图片.png

类型对象的类型是type。不错,所有类型对象的类型都是type,他也是所有python类型的根和所有python标准类的默认元类(metaclass)。
3.2None,Python的Null对象

Python有一个特殊的类型,被称作Null对象或者NoneType,它只有一个值,就是None。
None没有什么有用的属性,布尔值总是False。
注解:所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小。每个对象天生具有True或False值。空对象、值为零的任何数字或者Null对象None的布尔值都是False。
下列对象的布尔值是False。

* None
* False(布尔类型)
* 所有的值为零的数:
* 0(整型)
* 0(浮点型)
* 0L(长整型)
* 0.0+0.0j(复数)
* “”(空字符串)
* 【】(空列表)
* ()(空元祖)
* {}(空字典)

  值不是上面列出来的任何值的对象的布尔值都是True,例如non-empty、non-zero等等。用户创建的类实例如果定义了nonzero(_nonzero_())或length(_len_())且值为0,那他的布尔值就是False。

4,内部类型:

* 代码
* 帧
* 跟踪记录
* 切片
* 省略
* Xrange

4.1代码对象
代码对象是编译过的python源代码片段,它是可执行对象。可以调用内建函数compile()可以得到代码对象。代码对象可以被exec命令或eval()内建函数来执行。
代码对象本身不包含任何执行环境信息,它是用户自定义函数的核心,在被执行时动态活的上下文。(事实上代码对象是函数的一个属性)一个函数除了有代码对象属性以外,还有一些其他函数必须的属性,包括函数名,文档字符串,默认参数,及全局命名空间等等。
4.2帧对象
帧对象表示python的执行栈帧。帧对象包含python解释器在运行时所需要知道的所有信息。他的属性包括指向上一帧的链接,正在执行的代码对象,本地及全局名字空间字典以及当前指令等。每次函数调用产生一个新的帧,每一个帧对象都会相应创建一个C栈帧。用到帧对象的一个地方是跟踪记录对象。
4.3跟踪记录对象
4.4切片对象
步进切片,多维切片,及省略切片。
4.5省略对象
5,标准类型运算符
5.1对象值的比较
5.2对象身份比较
python提供了is和is not运算符来测试两个变量是否指向同一个对象。
5.3布尔类型
not,and,or,not的优先级最高
6,标准类型内建函数
type():类型对象
operator():


图片.png

str()、repr()、'':repr()输出对python比较友好,而str()的输出对人比较友好。
7,标准类型的分类:基本内建数据对象原始类型

* “基本”,是指这些类型都是python提供的标准或核心类型。
* “内建”,是由于这些类型是python默认提供的。
* “数据”,因为他们勇于一般数据存储。
* “对象”,因为对象是数据和功能的默认抽象。
* “原始”,因为这些类型提供的是最底层的粒度数据存储。
* “类型”,因为他们就是数据类型

7.1 存储模型
一个能保存单个字面对象的类型我们称为它为原子或标量存储,那些可容纳多个对象的类型,我们称之为容器存储。
标量/原子类型:数值(所有的数值类型),字符串(全部是文字)
容器类型:列表、元祖、字典
7.2 更新模型
可变类型:列表,字典
不可变类型:数字、字符串、元祖
7.3访问模型
直接访问:数字
顺序访问:字符串、列表、元祖
映射访问:字典


图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,024评论 17 410
  • 一、python 对象 Python 使用对象模型来存储数据,构造的任何类型的值都是一个对象(比如我们创建的整数:...
    常大鹏阅读 4,684评论 0 17
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,195评论 0 13
  • 很感谢这个话题,唤起我对自已梦想 清单一个重新的审视,竟然发掘 了梦想更深入更细致更实用的一面,心里更...
    c577eea5ec5b阅读 136评论 0 3
  • 只会说不会做的人最可耻 没人关心你所以你才要学会自我安慰呢……
    孤茹梦阅读 139评论 0 0