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

答:id,type,value;



身份,类型和值。

 



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

答:



可变对象允许他们的值被更新,而不可变对象则不允许他们的值被更改。



数字,字符串,元组

 

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

答:按照顺序方位:字符串,列表,元组;



映射类型类似序列的索引属性,不过它的索引并不使用顺序的数字偏移量取值, 它的元素 无序存放, 通过一个唯一的 key 来访问, 这就是映射类型



字典是映射类型

 

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

答:返回类型对象

 

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

引号(``)运算符?。

答:str()函数得到的字符串可读性好, 而 repr()函数得到的字符 串通常可以用来重新获得该对象,

repr() 与 反引号(``) 等价

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

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

答:类型相同,减少调用次数,



isinstance()接受一个类型对象的元 组做为参数, 这样我们就不必像使用 type()时那样写一堆 if-elif-else 判断了



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

答:True

True

True