- 1.6节: 函数基础
- 已经是最后一篇了
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 构造函数,对象属性,对象方法
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。
扫码咨询薯条老师:
- 1.6节: 函数基础
- 已经是最后一篇了