python第四章作业_Python核心编程-第四章课后习题

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

答:

身份:每个对象有自己唯一一个身份标识,这个值可以用内存地址来表示。id()函数获得

类型:决定了该对象可以保存什么样类型的值。用type()来查看某个对象的类型

值:对象表示的数据项

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

答:

不可能改指的是Python的一个数据类型,从更新模型角度划分的,这个对象如果是不可更改,则它的值不可以改变

可更改:列表,字典

不可更改:字符串,元组,数字

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

答:

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

映射类型是容纳哈希键值对的集合

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

答:

type()是显示某对象的类型的函数。

返回的对象是叫type的对象

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

答:

又是这个头疼的。

str()是让用户看的,repr()是让程序维护者看的。repr()等价于反引号

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

答:

前者是两者的对象值相等,后者是对象的类型相等,

后者在运行的时候少一次查询,所以更倾向于后者吧

isinstance()可以用来替代他们前两者

>>>if type(b) is type(a):

可以用

>>>if isinstance(a,(int,long,float,complex)):

来替代

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

答:

>>>import types                #在2.7版本中,直接输入types会有错误

>>>types

>>>types()

File "", line 1, in 

TypeError: 'module' object is not callable        #就是这么显示的,不知道为啥

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

答:

>>> a is b

True                        #小整型Python会缓存,默认指向同一个内存地址

>>> c is d

True                        #可能作者会False,但是2.7版本就是

true

>>> e is f

False                        #float对象不一样,分配的内存地址不一样

这一章完了,学了有好多收获,这才是基础啊

突然想到,为什么市面上终有卖那种《21天突破Java》这种极限书了,

你看了肯定会做些东西,但是出了问题你却不知道怎么处理,哪里有问题了

这就是基础不行,因为好多计算机或者语言内在的问题没搞懂。我们做学问就该一步一步的去做

这,就是内力!

这章学完挺开心

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值