4.10 练习

来源:互联网 发布:软件讲师培训班 编辑:程序博客网 时间:2024/05/21 23:31

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

'''身份,类型和值身份identity:每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数 id()来得到。这个值可以被认为是该对象的内存地址。类型type:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。您可以用内建函数 type()查看 Python 对象的类型。值value:对象表示的数据项 '''

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

不可更改指对象创建以后值不可以更新数字  不可更改     字符串  不可更改  列表  可更改  元组  不可更改  字典  可更改  

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

访问模型 分类                          Python 类型 直接访问                         数字 顺序访问                       字符串、列表、元组 映射访问                       字典 映射类型元素无序存放, 通过一个唯一的 key 来访问

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

type()返回任意 Python 对象的类型信息返回type

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

str()对人友好repr()python友好,等价于``

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

这题还是不太懂type(a) == type(b)比较两个值,调用两次type函数type(a) is type(b)测试两个变量是否指向同一个对象用对象身份的比较来替代对象值的比较。如果对象是不同的,那意味着原来的变量一定是不同类型的。(因为每一个类型只有一个类型对象),我们就没有必要去检查(值)了。isinstance()判断对象类型

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

dir([obj])显示对象的属性,如果没有提供参数, 则显示全局变量的名字 >>> dir(type)['__abstractmethods__', '__base__', '__bases__', '__basicsize__', '__call__', '__class__', '__delattr__', '__dict__', '__dictoffset__', '__doc__', '__eq__', '__flags__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__instancecheck__', '__itemsize__', '__le__', '__lt__', '__module__', '__mro__', '__name__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasscheck__', '__subclasses__', '__subclasshook__', '__weakrefoffset__', 'mro']

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

数据类型 存储模型      更新模型   访问模型数字     Scalar     不可更改    直接访问     字符串   Scalar     不可更改     顺序访问 列表    Container   可更改      顺序访问 元组    Container   不可更改    顺序访问 字典    Container   可更改      映射访问 

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 bTrue>>> c is dTrue>>> e is fFalse'直接运行为什么结果不一样呢?存疑'a =100.0b =100.0print a is b
0 0
原创粉丝点击