活动地址:CSDN21天学习挑战赛
在现实生活中,人的思考是抽象的,我们会将遇到的事物抽象化,这时就出现了对象的类型——类。先定义类,然后由类去创建对象,最后由对象去管理程序。就像人类思考一样,先抽象,后实例化,最后去执行。面向对象编程就是一种不断抽象数据和不断抽象方法的过程。
万物皆对象。现实世界中我们能见到的、能触碰到的所有人和事物都是对象,如人、猫、狗、汽车等。在计算机世界里,我们用虚拟的编程代码将现实世界里的事物抽象成对象,然后用面向对象编程思想来解决现实世界中的种种难题。人们在认识世界时,会将对象简单处理为两部分——属性和行为。
对象具有属性,它可以称为状态,也可以称为变量。正如每个工厂有名称、位置、面积、产品等属性,我们可以用这些数据来描述对象的属性。
举例:对象“工厂”的属性

对象具有行为,也可以称为方法,就如同每个工厂都要能做:检验、组装、包装、出货。面向对象编程将完成某个功能的代码块定义为方法,方法可以被其他程序调用,也可以被对象自身调用。
举例:对象“工厂”的行为

类必须被定义后才能使用,定义一个类也就是定义这一类对象的模板,定义它的属性和方法。Python中提供了class关键字来声明一个类,class中有成员属性和成员方法。Python中类的定义格式如下:
class [类名]:
[语法块]
定义一个类的3要素:
定义一个类:
需求:
工厂检验区、工厂组装区、工厂包装区、工厂出货区
分析:
定义一个工厂类
定义4个方法:检验、组装、包装、出货
按照需求,不需要定义属性
class Factory:
'''这是一个工厂类'''
def jianyan(self):
print('这是工厂里面负责检验的。')
def zuzhuang(self):
print('这是工厂里面负责组装的。')
def baozhuang(self):
print('这是工厂里面负责包装的。')
def chuhuo(self):
print('这是工厂里面负责出货的。')
factory1=Factory()
factory1.jianyan()
factory1.zuzhuang()
factory1.baozhuang()
factory1.chuhuo()
#下面是输出
'''
这是工厂里面负责检验的。
这是工厂里面负责组装的。
这是工厂里面负责包装的。
这是工厂里面负责出货的。
'''
由哪一个对象调用的方法,方法内的 self 就是 哪一个对象的引用
这种格式的方法是Python提供的内置方法,说明如下:
| 方法名 | 类型 | 类型 |
|---|---|---|
__new__ | 方法 | 创建对象时,会被 自动 调用。用于控制生成一个新实例的过程,它是类级别的方法。至少要有一个参数cls,代表要实例化的类。__new__方法的调用是发生在__init__之前的。 |
__init__ | 方法 | 对象被初始化时,会被 自动 调用。用于初始化一个新实例,控制这个初始化的过程,比如添加一些属性, 做一些额外的操作,发生在类实例被创建完以后。它是实例级别的方法。 |
__del__ | 方法 | 对象被从内存中销毁前,会被 自动 调用。 |
__str__ | 方法 | 返回对象的描述信息,print 函数输出使用。当使用 print 输出对象的时候,只要自己定义了__str__方法,那么就会打印从在这个方法中return的数据。__str__方法需要返回一个字符串,当做这个对象的描述。 |