笨办法学python 习题41 物以类聚 练习看不懂,请问怎么做?

# -*- coding:utf-8 -*-

## Animal is-a object (yes, sort of confusing) look at the extra credit
class Animal(object):
pass
## ??
class Dog(Animal):
def __init__(self, name):
## ??
self.name = name
## ??
class Cat(Animal):
def __init__(self, name):
## ??
self.name = name
## ??
class Person(object):
def __init__(self, name):
## ??
self.name = name
## Person has-a pet of some kind
self.pet = None
## ??
class Employee(Person):
def __init__(self, name, salary):
## ?? hmm what is this strange magic?
super(Employee, self).__init__(name)
## ??
self.salary = salary
## ??
class Fish(object):
pass
## ??
class Salmon(Fish):
pass
## ??
class Halibut(Fish):
pass
# # rover is-a Dog
rover = Dog("Rover")
## ??
satan = Cat("Satan")
## ??
mary = Person("Mary")
## ??

该代码表示一个框架,几乎没有实际内容,代码分成两类,以class开头的是定义类,pass关键字表示什么都不做。
后面的都是赋值,介绍其中两个,其它可以类推:
rover=Dog("Rover")
将一个叫Rover的对象定义为Dog类型,并把它整个打包赋值给rover
Cat/person/Employee都是一样的。
frank.pet=rover
调用的class person, self.pet=rover, self=frank。

PS:中文翻译应该难理解有一些障碍,推荐看原版 Learn Python The Hard Way.pdf
温馨提示:答案为网友推荐,仅供参考
相似回答