练习


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

答:身份、类型和值:
   身份:每一个对象都有一个唯一的身份标识自己,可以用id()得到。
   类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。可以用type()查看类型。
   值:对象表示的数据项。


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

答:对象的值是否可以更改称为对象的可改变性,不可更改指的是对象的值只读,例如:元组,数字,字符串,可变的有:列表,字典。


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

答: 顺序访问:字符串、列表、元组。
  序列类型只按从0开始的索引顺序访问,而映射类型的元素时无序存放的,是通过唯一的key来访问,key-value。


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

答: 通过调用type()函数,你能够得到特定对象的类型信息。

  type()返回的对象类型是type。


4-5. str()和repr()。内建函数str()与repr()之间的不同是什么?哪一个等价于反引号('')操作符?

答: repr()输出对Python比较友好,str()的输出对用户比较友好。repr()和''做的是完全一样的事情。


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

答: type(a) is type(b),表示type(a)和type(b)是同一个对象,前者比较的是数据对象的值。

  判断对象类型时可以用用isinstance()


4-7. 内建函数 dir()。在第二章的几个练习中,我们用内建函数的dir()做了几个实验,它接受一个对象,然后给出相应的属性。请对types模块做相同的实验。记下你熟悉的类型,包括你对这些类型的认识,然后记下你还不熟悉的类型。在学习python的过程中,你要逐步将“不熟悉”的类型变得“熟悉”起来。

答:略


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

答:相同点:都是序列类型数据,可以按序列访问
  不同点:元组内数据是不可变


4-9. 实践,给定以下的赋值:

a = 10;b = 10;c = 100;d = 100;e = 10.0;f = 10.0

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

  • a is b
    True
  • c is d
    True
  • e is f
    False

《Python核心编程》 第四章 Python对象- 课后习题的更多相关文章

  1. 【2】python核心编程 第四章-python对象

    1.python对象 所有的Python 对像都拥有三个特性:身份,类型和值. 身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到. 这个值可以被认为是该对象的 ...

  2. python核心编程-第四章-习题

    1.身份.类型.值.其中,身份是每个对象的标识,与内存地址密切相关,可用id()返回:类型决定了对象可以保存什么类型的值,用type()函数.isinstance()函数可以得到对象的类型:值就是对象 ...

  3. python核心编程-第四章-个人笔记

    1.所有的python对象都拥有三个特性: ①身份:每个对象都有唯一的身份标识自己,可用内建函数id()来得到.基本不会用到,不用太关心 >>> a = 2 >>> ...

  4. 《Python CookBook2》 第四章 Python技巧 对象拷贝 && 通过列表推导构建列表

    (先学第四章) 对象拷贝 任务: Python通常只是使用指向原对象的引用,并不是真正的拷贝. 解决方案: >>> a = [1,2,3] >>> import c ...

  5. [Python学习笔记][第四章Python字符串]

    2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要 ...

  6. 【7】python核心编程 第十一章-函数和函数式编程

    1.*函数(与方法)装饰器 装饰器背后的主要动机源自python 面向对象编程.装饰器是在函数调用之上的修饰.这些修饰 仅是当声明一个函数或者方法的时候,才会应用的额外调用. 装饰器的语法以@开头,接 ...

  7. Python核心编程2第一章课后练习

    1-1 在windows下的安装方法在网上下载python2.7直接安装到C盘1)在系统变量中找到path. 2)编辑path值,添加你安装的python路径,C:\Python27. 3)检验pyt ...

  8. Windows核心编程 第三章 内核对象

    第3章内核对象 在介绍Windows API的时候,首先要讲述内核对象以及它们的句柄.本章将要介绍一些比较抽象的概念,在此并不讨论某个特定内核对象的特性,相反只是介绍适用于所有内核对象的特性. 首先介 ...

  9. windows核心编程---第三章 内核对象及句柄本质

      本章讨论的是相对抽象的概念,不涉及任何具体的内核对象的细节而是讨论所有内核对象的共有特性. 首先让我们来了解一下什么是内核对象.内核对象通过API来创建,每个内核对象是一个数据结构,它对应一块内存 ...

  10. python核心编程-第三章-个人笔记

    1.语句和语法 (1)反斜杠"\"表示语句继续.python良好的编程习惯是一行最后不超过80个字符,一行字符过多时便须用到反斜杠换行继续该语句. PS:在使用小括号.中括号.大括 ...

随机推荐

  1. Android ActionBar 关于tab的应用 以及 TabListener的方法详解

    actionBar的tab标签应用以及TabListener的方法详解 package com.example.actionBarTest.actionBarTab; import android.a ...

  2. [优先队列]HDOJ5360 Hiking

    题意:有n个人,每个人有两个参数$l$和$r$ 邀请他们去hiking, 当  当前已经邀请到的人数大于等于$l$,并且小于等于$r$,那么这个人就会去 问最多能邀请到几个人 并输出 依次要邀请的人的 ...

  3. 手动挂载安装VMware tools

    在VMware 10上装了Red Hat Enterprise Linux 4后,点击“安装VMware tools”后,虚拟机桌面一直不出现挂载了VMware tools的虚拟光驱.在/mnt 和/ ...

  4. QTimer源码分析(以Windows下实现为例)

    QTimer源码分析(以Windows下实现为例) 分类: Qt2011-04-13 21:32 5026人阅读 评论(0) 收藏 举报 windowstimerqtoptimizationcallb ...

  5. vss的ss.ini丢失或损坏导致的vss无法登录错误

    vss的ss.ini丢失或损坏导致的vss无法登录错误 Written in 2007-07-03 18:17 在vss使用过程中,不知道什么原因,会导至vss目录中的ss.ini文件损坏,此文件位于 ...

  6. IDEA查找功能小结

    查找类:Ctrl + N 支持模糊查询

  7. Linux之vi/vim命令

    vi命令是linux中必不可少的一个编辑器工具.那么vi与vim又有什么区别呢,可以简单理解为vim是vi的升级版.在编辑一个文本时,vi不会显示颜色,而vim会显示颜色.显示颜色更易于用户进行编辑, ...

  8. Android sendMessage 与 obtainMessage (sendToTarget)比较

    话说在工作中第一次接触android 的Handler 的时候,不知道怎么去关注性能. 记得当时这么写的: Message msg = new Message() msg.what = xxx; ms ...

  9. 机器学习 —— 概率图模型(Homework: Exact Inference)

    在前三周的作业中,我构造了概率图模型并调用第三方的求解器对器进行了求解,最终获得了每个随机变量的分布(有向图),最大后验分布(双向图).本周作业的主要内容就是自行编写概率图模型的求解器.实际上,从根本 ...

  10. The type xxx cannot be resolved. It is indirectly referenced from required .class files

    项目A中引入一个jar包B,在项目A中调用项目B,出现如下错误提示:   大致意思是:这上面所需的包是间接引用的,即A项目调用B项目,B项目又引用了另外一个包C,而这个包现在不在你的A项目的引用中. ...