美文网首页
PY爬虫极速学习 (五)面向对象

PY爬虫极速学习 (五)面向对象

作者: 罗卡恩 | 来源:发表于2019-11-25 17:44 被阅读0次

    它是一个概念 之前学的就是面相过程 一路写下去
    面向对象核心 封装继承多态抽象
    就是为了复用 提高可读性 效率


    image.png
    image.png
    image.png
    #类和对象
    '''
    class 类名 :
        类里面的内容
    '''
    class cl1:
        pass
    #类的实例化
    a=cl1()
    print(a) 
    

    输出


    image.png

    构造函数

    image.png
    #构造函数(构造方法)
    #self在类中的方法必须加上self参数
    #__init__(self,参数)
    #构造函数的实际意义:初始化 就是想一开始使用的东西
    class cl2:
        def __init__(self):
            print("i am cl2 self")
    b=cl2()#实例化后会自动调用
    
    image.png
    #给类加上参数:给构造方法加上参数
    class cl3:
        def __init__(self,name,job):
            print("My name is"+name+"My Job is"+job)
        pass
    c=cl3("小明","码农")
    d=cl3("小王","架构师")
    

    这两个都是类不同参数的实例化


    image.png

    属性和方法

    image.png
    #属性:类里面的变量:  self.属性名
    class cl4:
        def __init__(self,name,job):
            self.myName=name
            self.myJob=job
    
    e=cl4("小明","码农")
    print(e.myName)
    
    image.png

    这个可以有参 调用时候添加

    #方法 :类里面的函数 :def 方法名(self,参数)
    class cl5:
        def myfunc1(self,name):
            print("hello"+name)
    f=cl5()
    f.myfunc1("小明")
    
    image.png

    这个使用无参构造 输出和上面一样

    class cl6:
        def __init__(self,name):
            self.myName=name
        def myfunc1(self):
            print("hello"+self.myName)
    g=cl6("小明")
    g.myfunc1()
    
    image.png

    继承和重载

    image.png
    #继承(单继承 多继承)
    #某一个家庭有父亲 母亲 儿子 女儿 父亲会说话 母亲会鞋子 儿子继承父亲
    #女儿同时继承父母 还会听 小儿子继承父亲 但是继承父亲不完全的能力
    
    #父亲类(基类)
    class father():
        def speak(self):
            print("i can speak")
    #单继承: class 子类(父类)
    class son(father):
        pass
    
    s=son()
    s.speak()
    
    image.png

    再加上母亲 女儿

    #母亲类
    class mother():
        def write(self):
            print("i can write")
    
    #多继承
    class daughter(father,mother):
        def listen(self):
            print("i can listen")
    
    d=daughter()
    d.speak()
    d.write()
    d.listen()
    
    image.png

    这样就可以把父类的方法覆盖了

    #重写(重载)
    class son2(father):
        def speak(self):
            print("i can speak a little")
    
    s=son2()
    s.speak()
    
    image.png

    然后面向对象就没了 主要是灵活运用

    相关文章

      网友评论

          本文标题:PY爬虫极速学习 (五)面向对象

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