美文网首页Python三期爬虫作业
【Python爬虫】-【第三周】02-作业

【Python爬虫】-【第三周】02-作业

作者: 奔跑的Kay | 来源:发表于2017-07-30 15:51 被阅读30次
  1. 习题45 对象、类、以及从属关系
class Animal():
    pass

class Dog(Animal):
    # 从Animal()父类继承,创建一个Dog()字类
    def __init__(self, name):
        self.name = name

class Cat(Animal):

    def __init__(self, name):
        self.name = name

class Person():
    def __init__(self, name):
        # 初始化属性name
        self.name = name
        # 指定属性pet默认值为None
        self.pet = None
        '''
        def __init__(self, name):
        __init__是一个特殊的方法,包含必不可少的self形参以及需要传递参数的其他形参,此处为name
        以self为前缀的变量都可供类中的所有方式使用
        self.name = name 获取存储在形参name中的值,并将其存储到变量name中,然后该变量被关联到当前创建的实例
        '''
class Employee(Person):

    def __init__(self, name, salary):
        super(Employee, self).__init__(name) ## 初始化父类的属性
      '''
      super是个特殊的函数,帮助python将父类和子类关联起来。
      这行代码让python调用Person()父类的方法__init__(),
      让Employee()实例包含父类Person的所有属性。
      python3.6中的代码写法为super().__init__(name)
      '''
        self.salary = salary

class Fish():
    pass

class Salmon(Fish):
    pass

class Halibut(Fish):
    pass

# 创建实例
rover = Dog("Rover")
satan = Cat("Satan") # 创建Cat()实例,传递参数Satan给形参name,然后关联到当前创建的一只名为Satan的猫的实例
mary = Person("Mary")
mary.pet = satan # 访问实例的属性,设置Person()类中pet的值为satan,调用实例中的方法也是句点调用发,marry.f()
frank = Employee("Frank", 120000)
frank.pet = rover
flipper = Fish()
course = Salmon()
harry = Halibut()

心得体会:

  • 习题43、44制作游戏并打分我就没有去做了,太耗费时间。时间有限的前提下,我还是把41、42的代码好好多看几遍,理解理解
  • 在实际使用过程中,我们先抽象一类具体事物和情景,将其通用行为编写成类。
  • 基于类创建对象时,每个对象都具有这个类的通用行为。根据类来创建对象被称为实例化。
  • 除了创建新的类,我们还可以从另一个类去继承某些属性和方法。比如从Dog()类继承,创建一个Husky(Dog),这个哈士奇除了继承了通常意义上狗的特征意外,还有一些自己独特的特征,比如活泼、温顺等等,这些独有特征可以在Husky(Dog)类下添加
  • 注意点:
    ①在python2.7中从空白创建类是需要在类名称后面的括号内包含单词object,python3.6可以为空,在继承父类时括号内是父类的名称
    ②python3.6中从一个类创建一个新类叫做继承,也就是《笨办法学Pyhton》里描述的“两者以类的方式相关联”

相关文章

网友评论

    本文标题:【Python爬虫】-【第三周】02-作业

    本文链接:https://www.haomeiwen.com/subject/qfvqlxtx.html