Python爬虫教程

第一章: 初学乍练-Python快速入门

第二章: 初窥门径-从全局把握网络爬虫

第三章: 爬虫数据-网页与JSON

第四章: 爬虫核心-HTTP协议

第五章: 手到擒来-数据的抓包

第六章: 利刃出鞘-HTTP请求库

第七章: 尘埃落定-数据的解析

第八章: 逆向初探-JS逆向

第九章: 爬虫进阶-Selenium, 中间人拦截

第十章:斗转星移-常用的反爬策略及应对方法

首页 > Python爬虫教程 > 第一章: 初学乍练-Python快速入门 > 1.7节: 面向对象

1.7节: 面向对象

薯条老师 2024-06-19 09:19:11 486 0

编辑 收藏

1.7.1 先理解面向过程

将一个问题分解为多个步骤,多个子问题,再逐步骤,逐问题地求解,此即面向过程。在开发软件系统时,可将复杂的问题进行分解,再将每个求解的步骤封装为函数,最后再按顺序调用。比如实现一个在线购物系统,将系统拆分为查看商品,添加商品,订单结算的这三个函数,将其按顺序实现,调用,即可实现一个简单的购物系统。

1.7.2 再理解面向对象

面向对象是指对某一类事物进行描述,概括,然后以计算机中的编程语言进行建模,将生活中的一切事物对象化。 面向对象的核心是抽象。抽象即概括和归类,这里的概括是对共性的概括。抽象后的数据类型就叫做类,类由类属性和类方法组成。类属性表示该数据类型共有的特征,而类方法表示共有的行为。对类进行实例化,可以获得一个具体的对象,实例化后的对象共享类的属性与方法。

比如将矩形抽象为一种数据类型,所有矩形都有四条边,所有矩形都可以计算面积,周长等,此即矩形的共性。概括共性即抽象思维。

1.7.3 面向对象的三大特征

面向对象的三大特征: 封装,继承,多态。封装是将实现细节隐藏起来,继承主要是为了实现代码的复用,而多态表示同一事物的不同行为。进一步学习面向对象,可参考薯条老师的Python基础教程: http://chipscoco.com/?cate=2

1.7.4 类属性,类方法,静态方法

在Python中使用class关键字定义类,以下为定义类的基本语法:

class ClassName:
    pass

ClassName表示类名,在Python中使用大驼峰命名法来给类命名。类名冒号下面的叫做类体,在类体中以定义变量的形式添加类属性:

class Rectangle:
    sides = 4

在以上代码中,定义了一个名为Rectangle的类。该类有一个类属性sides, sides的值为4,表示矩形都有四条边。当需要在类中访问类属性时,需要定义类方法:

class Rectanle:
    sides = 4
    
    # 需在方法前写上一行@classmethod的装饰器 
    @classmethod
    def get_sides(cls):
        return cls.sides

在以上代码中,给Rectangle类添加了一个叫做get_sides的类方法。读者需注意,类方法至少需要声明一个形参,该形参通常命名为cls, 我们在调用类方法时,无需显式传递第一个形参所对应的实参,Python会自动将第一个参数绑定为类。除了类方法,Python还提供了静态方法,静态方法也是全局的,为所有对象共有:

class Rectangle:
    sides = 4
    
    @classmethod
    def get_sides(cls):
        return cls.sides
    
    
      # 需在方法前写上一行@classmethod的装饰器 
    @staticmethod
    def calc_perimeter(width, height):
        return (width + height) * 2

1.7.5 构造函数,对象属性,对象方法

在对类进行实例化时,如果没有定义构造函数,那么Python会自动调用一个默认的无参构造函数来进行实例化。对类进行实例化以后,可获得一个构造好的对象。以下所示为构造函数的基本语法:

Python
class ClassName:
    def __init__(self):
        pass

类体中的__init__函数即为构造函数,参数self表示实例化后的对象。构造函数的主要作用是初始化对象,并给实例化后的对象添加对象属性:

class Rectangle:
    def __init__(self, width, height):
        self.width = width
        self.height = height

在以上代码中,我们定义了一个名为Rectangle的类,在该类的构造函数中,一共包括两个形参,分别是width与height。在构造函数中,通过self给实例化后的对象添加了width和height的对象属性。如需操作对象属性,可再定义相关的对象方法:

class Rectangle:
    def __init__(self, width, height):
        self.width = width
        self.height = height
        
    def get_width(self):
        return self.width

在以上代码中,定义了一个名为get_width的对象方法,该方法返回了对象的width属性的值。读者需注意,对于对象方法,至少需要定义一个形参,通常将其命名为self, 该参数无需传递,Python会自动绑定为实例化后的对象。进一步学习Python中的面向对象,可参考薯条老师写的Python基础教程:http://chipscoco.com/?cate=2

1.7.6 最具实力的小班培训

薯条老师在广州有开设线下培训班,小班授课模式,一班最多6个人。也可一对一授课,全程帮助你学好计算机,实现高薪就业。不在广州的同学可提供住宿,也可以报名线上小班,用腾讯会议上直播课。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python中高级爬虫逆向工程师就业班,月薪15K-25K,包拿Offer
(3) Python数据分析+商业分析+数据科学就业班,企业级项目实战,月薪10K-20K
(4) Python量化交易就业班,A股+期货+数字货币量化,月薪10K-40K
(5) Python机器学习+深度学习算法工程师,月薪20-50K

跟薯条老师学习的学生有拿到花生日记,林氏家居,南方电网,京东, 阿里等公司的offer, 学生的最低薪资有6K,最高薪资有18K, 平均就业薪资有11000。

扫码咨询薯条老师:


扫码领学习资料.jpg


欢迎 发表评论: