python教材答案第四章_python核心编程课后习题解答第四章

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

type、ID、value.、(身份、类型、值)

type()接受一个对象作为参数,并返回它的类型

id()用于身份比较操作

value是对象的值,是可变的。

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

(mutable),哪些不是?

对象的值是否可以更改被称为对象的可改变性

列表、字典属于可变类型

数字、字符串、元组处于不可变类型。

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

python的字符串、列表、元组是顺序访问的,序列类型是指容器内的元素按从0开始的索引顺序访问。

映射类型类似序列的索引属性,不过它的索引并不使用顺序的数字偏移量取值,它的元素无序存放,通过一个唯一的键来访问,它容纳的是哈希键-值对的集合。

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

type()接受一个对象作为参数,并返回它的类型

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

引号(``)运算符?。

str()函数得到的字符串可读性好, 而repr()函数得到的字符

串通常可以用来重新获得该对象。repr() 和 `` 做的

是完全一样的事情,它们返回的是一个对象的“官方”字符串表示, 也就是说绝大多数情况下

可以通过求值运算(使用eval()内建函数)重新得到该对象。

4–6. 对象相等。您认为type(a) == type(b)和type(a) is type(b)之间的不同是什么?

为什么会选择后者?函数isinstance()与这有什么关系?

type(a) == type(b)是对象值的比较,type(a) is 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) a is b

(b) c is d

(c) e is f

答:

>>> a is b

True

>>> c is d

True

>>> e is f

False

python不支持单精度浮点型。

你可能感兴趣的:(python教材答案第四章)