查阅资料,思考并回答下述问题:
1. 什么是数组?(提示:三个要点)
答:内存数组要连续,同类单元划分区。要点一:
连续的内存片段;要点二:每个单元的内存占用
量必须完全一样;要点三:可以通过下标访问。
2. Python 数组有何不同于 C 数组之处?
答:Python 数组是引用数组,存放的是对象的地
址,而 C 数组是真数组,存放的是真实的元素。
3. Python 数组名本质上是引用变量,所以可以
出现在赋值符号的左边和右边。试予以解释。
答:因为是引用变量,所以是一个地址值,也就
是一个整型元素,当然可以用来给其他元素赋值;
因为Python中到处都是指针,所以到处都是引用,
如果开始的时候,数组名为 a,那么 a 代表一个数
组,而用其他对象对 a 进行赋值时,就会把 a 的
类型更改,变成了其他对象的一个别名(alias)。
这样一来,Python 的解释器会判断,原来数组是
否还有被引用,如果没有了,那么它就会被从内
存中抹除。
4. Python 如何输出一个对象?
答:用 print 函数。
5. 如何做键盘输入?
答:用 input 函数。
6. Python 允许类的嵌套定义,有利于一些场合。
试举例说明。
答:用类的嵌套是一种实现方法,当然不是唯一
方法。但是用嵌套类可以省略很多麻烦。首先是
用嵌套类可以把物理实际反馈到代码构建中。其
次,我们可以对 nested class 进性封装,保护数据,
而如果用公共类,就很遗憾,数据被暴露,没法
保护。
常见的就是链表的构建,class LinkedList 里面
有一个 class _Node。
7. 抽象数据类型与 oo的结合是现代数据结构的
重要特征。以 Python 为例予以解释。
答:oo 指的是 object-oriented,即面向对象,oo 是
有层次的,有继承。抽象数据类型就是用 oo 思想
对实际需求进行抽象,得到一个可行的逻辑数据
结构,就是抽象数据结构。所以 oo 是方法,抽象
数据类型是结果。Python 在这方面和 Java/C++区
别不大,毕竟 ADT 与 DS 是和语言无关的。
评论0