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

2019-11-25  本文已影响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

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

上一篇下一篇

猜你喜欢

热点阅读