第四章讲的是python对象。

4.1 python对象

所有的python对象都拥有三个特性:身份,类型和值

身份:

每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址。

类型:

对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。我们可以使用type()查看python对象的类型

值:

对象表示的数据项

4.3.1 类型对象和type类型对象

类型是个对象,虽然有点奇特。对象的一系列固有行为和特性必须事先定义好。从这个角度看,类型正式保存这些信息的最佳位置。既然可以描述浙西信息,那么类型肯定不是简单的一个字符串,而是一个复杂的对象。

我们来看看:

>>> class Foo:

"this is a class"

pass

>>> type(Foo)

>>> type("hello world")

就如Ruby里面一切都是对象一样(纯粹的面向对象语言),python也是一个面向对象的语言,只是没那么纯罢了。

4.4 内部类型--(备注:不太理解)

4.4.1 代码对象

代码对象是编译过的python源代码片段,它是可执行对象。通过调用内建函数compile()可以得到代码对象。代码对象可以被exec命令或eval()内建函数来执行。

代码对象本身不包含任何执行环境信息,它是用户自定义函数的核心,在被执行时动态获得上下文。(事实上代码对象是函数的一个属性)一个函数除了有代码对象属性以外,还有一些其他函数必须的属性,包括函数名,文档字符串,默认参数,及全局命名空间等等。

4.4.2 帧对象

帧对象表示python的执行栈帧。帧对象包含python解释器在运行时所需要知道的所有信息。它的属性包括指向上一帧的链接,正在被执行的代码对象,本地及全局名字空间字典以及当前指令等。每次函数调用产生一个新的帧,每一个帧对象都会相应创建一个C栈帧。用到帧对象的一个地方是跟踪记录对象。

4.4.3 跟踪记录 对象

当你的代码出错时,python就会引发一个异常。如果异常未被捕获和处理,解释器就会推出脚本运行,显示类似下面的诊断信息:

>>> 1 / 0

Traceback (most recent call last):

File "", line 1, in

1 / 0

ZeroDivisionError: integer division or modulo by zero

当异常发生时,一个包含针对异常的栈跟踪信息的跟踪记录对象被创建。如果一个异常有自己的处理程序,处理程序就可以访问这个跟踪记录对象。

4.4.4 切片对象,4.4.5省略对象 4.4.6XRange对象

疯狗一般的往下看,因为发现这章的内容有点无趣,结果就到了习题了。

4–1. Python 对象。与所有Python 对象有关的三个属性是什么?请简单的描述一下。

所有的python对象都拥有三个特性:身份,类型和值

身份:

每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址。

类型:

对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。我们可以使用type()查看python对象的类型

值:

对象表示的数据项

4–2. 类型。不可更改(immutable)指的是什么?Python 的哪些类型是可更改的(mutable),哪些不是?

可变类型: 列表,字典

不可变类型:数字,字符串,元祖

4–3. 类型。哪些Python 类型是按照顺序访问的,它们和映射类型的不同是什么?

顺序访问:字符串,列表,元祖

映射类型不是顺序访问的,而是通过关键字来访问,相当于key--value

4–4. type()。内建函数type()做什么?type()返回的对象是什么?

显示对象的类型。type()返回的对象是一个type()对象

4–4. str() 和 repr()。内建函数str()与repr()之间的不同是什么?哪一个等价于反引号(``)运算符?。

repr()等价于反引号。repr适合处理数据,而str适合输出吧。

4–6. 对象相等。您认为type(a) == type(b)和type(a) is type(b)之间的不同是什么?为什么会选择后者?函数isinstance()与这有什么关系?

前者比较的是对象的值,而后者比较的是对象本身。 可以用isinstance来代替。

4–8. 列表和元组。列表和元组的相同点是什么?不同点是什么?

元祖就是不能更改的列表。

4–9. 练习,给定以下赋值:

a = 10

b = 10

c = 100

d = 100

e = 10.0

f = 10.0

请问下面各表达式的输出是什么?为什么?

(a) a is b

(b) c is d

(c) e is f

我个人猜测是:True, True, False,可惜被我猜中了。因为小整型不会新建一个对象嘛,而float则一定会。

python核心教程_python核心教程--第四章相关推荐

  1. python画误差棒_Python数据处理从零开始----第四章(可视化)(3)散点图和误差棒...

    目录 Python数据处理从零开始----第四章(可视化)③散点图和误差棒 Python数据处理从零开始----第四章(可视化)④误差图 =============================== ...

  2. 可视化工具D3.js教程 入门 (第十四章)—— 中国地图

    可视化工具D3.js教程 入门 (第十四章)-- 中国地图 代码 <!DOCTYPE html> <html lang="en"><head>& ...

  3. 【Python学习笔记—保姆版】第四章—关于Pandas、数据准备、数据处理、数据分析、数据可视化

    第四章 欢迎访问我搞事情的[知乎账号]:Coffee 以及我的[B站漫威剪辑账号]:VideosMan 若我的笔记对你有帮助,请用小小的手指,点一个大大的赞哦. #编译器使用的是sypder,其中&q ...

  4. python编程案例教程第四章_Python编程入门-第四章 流程控制 -学习笔记

    第四章 流程控制 一.布尔逻辑 *在Python中,用True和False表示真值.一般使用4个主要的逻辑运算符来组合形成布尔值:not\and\or\==. 如: False==False #Tru ...

  5. python代码入门教程_Python入门教程丨1300多行代码,让你轻松掌握基础知识点

    欢迎关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练.PDF电子文档.面试集锦.学习资料等. 前言 本文适合有经验的程序员尽快进入Python世界.特别地 ...

  6. python画四边形_python绘图教程-用python来绘制出四边形

    原标题:python绘图教程-用python来绘制出四边形 python的应用有很多,其中还可以用python来绘制四边形,下面羽忆教程网为您分享如何用python来绘制四边形的详细步骤. pytho ...

  7. python图纸教程_python入门教程 python入门神图一张

    初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(Cheat ...

  8. python 3教程_Python 3 教程

    全屏 Python 3 教程 Python的3.0版本,常被称为Python 3000,或简称Py3k.相对于Python的早期版本,这是一个较大的升级.为了不带入过多的累赘,Python 3.0在设 ...

  9. python独立网站教程_python做网站教程_如何免费做网站的教程

    python学习指南教程 180x270 - 7KB - JPEG 图灵程序设计丛书:Python基础教程 260x317 - 12KB - JPEG 跳一跳python使用教程 微信跳一跳pytho ...

最新文章

  1. php 偷偷转移别人权重,判断百度蜘蛛偷偷进行301转移权重 给新站提权
  2. JAVA基础13-Java抽象方法、抽象类、抽象之模板方法模式
  3. 离开百度三年多,吴恩达纽交所敲钟,身价再增20亿
  4. 派生类的继承方式【C++继承】
  5. 万恶之源 - Python数据类型二
  6. 威纶通宏开机后使用初始化宏指令_你按下电脑开机键后,电脑都干了些什么?...
  7. unity3d 自动变化大小_自动做游戏(1),自动生成人物侧面图
  8. L1-019 谁先倒 (15 分) — 团体程序设计天梯赛
  9. 删除文件时提示“对于目标文件系统,文件xx过大”的处理办法”的解决办法
  10. html和css设计网页实例,经典网页设计:30个创意的 CSS 应用案例
  11. 【CodeVS 1222】信与信封的问题 随机化+treat Hungery
  12. Notepad++编译Verilog代码(精简)
  13. android项目创建好慢,解决 Android Studio 创建项目时极其的慢的尴尬
  14. 不要再拿“学历不重要”的谎言,骗正在“入海”的95后
  15. 网络安全小白成长日记
  16. C#:调用百度接口实现文字识别(准备做一个截图文字识别软件)
  17. 后端编译与优化(JIT,即时编译器)
  18. 混合云市场现状与发展趋势研究
  19. mysql表名可以用中文么_[急]MySQL中建表不能使用中文字段吗?解决思路
  20. 快来看看如何手动搭建自动化部署系统

热门文章

  1. springboot+shiro:ShiroConfiguration配置
  2. springboot整合mybatisplus中@Mapper与@MapperScan的使用
  3. 净网大师最好用旧版本_云顶之弈手把手教你吃分系列:决斗大师
  4. mysql 开启远程访问_QxOrm 访问 MySQL
  5. C语言中输入123求位权,数反转 - it610.com
  6. 计算机网络客户服务器应用,计算机网络工程教学资料-项目九 Internet服务器应用.pptx...
  7. linux适应环境,Linux从入门到适应(一):VSCode C++环境配置
  8. oracle+内存错误,oracle使用内存的错误,ORA-27102: out of memory
  9. 判断星座PHP,php根据日期判断星座的函数分享_PHP教程
  10. 惠普打印机只打印一半_惠普打印机如何安装 惠普打印机加墨方法【介绍】