Python高级爬虫之JS逆向+安卓逆向1.7节: 面向对象

发布于:2025-07-12 ⋅ 阅读:(40) ⋅ 点赞:(0)

目录

 引言:

1.7.1 先理解面向过程

1.7.2 再理解面向对象

1.7.3 面向对象的三大特征

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

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

1.7.6 爬虫接单实现了雪糕自由


 引言:

大神薯条老师的高级爬虫+安卓逆向教程:

这套爬虫教程会系统讲解爬虫的初级,中级,高级知识,涵盖的内容包括基础爬虫,高并发爬虫的设计与开发,js逆向,安卓逆向,反爬策略及应对(反调试,指纹检测,图文验证码,短信验证码等),以及大规模分布式爬虫的设计与开发。

希望学习我这套爬虫教程的读者们,都能成为超一流的爬虫高手。系统学习Python,可参考薯条老师的《Python从入门到高手》的系列教程:

Python入门到高手,手把手教你从零基础入门到成为Python高手https://blog.csdn.net/thereisadownloader/category_12781180.html?spm=1001.2014.3001.5482https://blog.csdn.net/thereisadownloader/category_12781180.html?spm=1001.2014.3001.5482

1.7.1 先理解面向过程

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

1.7.2 再理解面向对象

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

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

1.7.3 面向对象的三大特征

面向对象的三大特征: 封装,继承,多态。封装是将实现细节隐藏起来,继承主要是为了实现代码的复用,而多态表示同一事物的不同行为。进一步学习面向对象, 可参考薯条老师的《Python从入门到高手》的系列教程:

Python入门到高手,手把手教你从零基础入门到成为Python高手https://blog.csdn.net/thereisadownloader/category_12781180.html?spm=1001.2014.3001.5482https://blog.csdn.net/thereisadownloader/category_12781180.html?spm=1001.2014.3001.5482

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会自动调用一个默认的无参构造函数来进行实例化。对类进行实例化以后,可获得一个构造好的对象。以下所示为构造函数的基本语法:

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入门到高手,手把手教你从零基础入门到成为Python高手https://blog.csdn.net/thereisadownloader/category_12781180.html?spm=1001.2014.3001.5482https://blog.csdn.net/thereisadownloader/category_12781180.html?spm=1001.2014.3001.5482

1.7.6 爬虫接单实现了雪糕自由

跟薯条老师学后端开发,高级爬虫(JS逆向+安卓逆向),数据分析,大数据开发,量化交易,以及机器学习+深度学习算法。坚定自己的学习目标,保持学习的热情,那你成为高手只是时间问题。

薯条老师的学生在南方电网,林氏家居,京东,阿里等大厂。想系统学习Python和Java的同学,可以移步薯条老师的个人技术博客:薯条老师的个人技术博客http://www.chipscoco.com/ 对本节教程有任何不懂的同学,亦可在评论区中进行评论。薯条老师会详细解答你们提出的每一个问题。


网站公告

今日签到

点亮在社区的每一天
去签到