7.5 练习

1. 比较关于数据和操作的两种观点。

2. 什么是封装?

3. 类中方法 init 的作用是什么?

4. 类中方法定义的第一个参数为什么很特殊?

5. 创建类的实例的过程是怎样的?

6. 解释实例变量与普通函数局部变量的异同。

7. 为什么对象集合体能表示任意复杂的数据?

8. 创建交通工具类,以及汽车、飞机子类。

9. 读下列代码,给出其执行结果。

  1. class Toy:
  2. def __init__ (self, value):
  3. print "Creating a Toy from:", value self.value = 2 * value
  4. def play(self, x):
  5. print "Playing:", x
  6. print x * self.value
  7. return x + self.value
  8. def main():
  9. print "Playing around now."
  10. t1 = Toy(3)
  11. t2 = Toy(4)
  12. print t1.play(3)
  13. print t2.play(t1.play(2))
  14. main()

10. 设计实现 Card 类和 Deck 类,Card 实例是一张扑克牌,Deck 实例是一副扑克牌。这两个类应该提供诸如洗牌、发牌等方法。编写主程序来使用这两个类。