《Python核心编程》 第四章 Python对象- 课后习题

练习


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)