目录
面向对象和面向过程区别
类和对象
1.定义类
2.创建类的实例
3.创建类的成员并访问
4.创建用于计算的属性
5.继承的基本语法
6.方法重写
7.创建函数
8.调用函数
9.为参数设置默认值
10.返回值
11.匿名函数
面向对象和面向过程区别面向过程程序设计:所谓的面向过程程序设计就是函数的定义和调用。面向过程是一种以事件为中心的编程思想,编程的时候把解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步一步的具体步骤中再按顺序调用函数。
面向对象程序设计:(Object-oriented programming,OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。它可能包含数据、属性、代码与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。在面向对象程序编程里,计算机程序会被设计成彼此相关的对象。
类和对象 类(Class):定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。 对象(Object):是类的实例。类(Class)定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。举例来说,“狗”这个类会包含狗的一切基础特征,即所有“狗”都共有的特征或行为,例如它的孕育、毛皮颜色和吠叫的能力。类可以为程序提供模版和结构。一个类的方法和属性被称为“成员”。 我们来看一段伪代码:
类狗
开始
公有成员:
吠叫():
私有成员:
毛皮颜色:
孕育:
结束
对象(Object)是类的实例。对象有时会对应到现实世界中的事物,举例来说,一个图形程序可能有圆形、矩形与画面等对象,一个在线购物系统可能有购物车、顾客与产品等类。有时对象会表示更抽象的实体,比如一个被打开的文件或是一个提供美国惯用量测转换的服务。每个对象就是一个特定类的实例(例如,名称是“玛丽”的对象可能是类雇员的一个实例)。程序在面向对象编程当中被视为方法,变量被视为成员或属性。例如,“狗”这个类列举狗的特点,从而使这个类定义了世界上所有的狗。而莱丝这个对象则是一条具体的狗,它的属性也是具体的。狗有皮毛颜色,而莱丝的皮毛颜色是棕白色的。因此,莱丝就是狗这个类的一个实例。一个具体对象属性的值被称作它的“状态”。(系统给对象分配内存空间,而不会给类分配内存空间。这很好理解,类是抽象的,系统不可能给抽象的东西分配空间,而对象则是具体的。)
定义莱丝是狗
莱丝.毛皮颜色 : 棕白色
莱丝.吠叫()
1.定义类
在Python中,类的定义使用class关键字来实现,语法如下:
class ClassName:
'''类的帮助信息''' # 类文档字符串
statement # 类体
参数说明:
ClassName: 用于指定类名, 一.般使用大写字 母开头,如果类名中包括两个单词,第二个单词的首字母也大写,这种命名方法也称为“驼峰式命名法”,这是惯例。当然,也可根据自己的习惯命名,但是一般推荐 按照惯例来命名。
Statement:类体,主要由类变量(或类成员)、方法和属性等定义语句组成。如果在定义类时,没想好类的具体功能,也可以在类体中直接使用pass语句代替。
2.创建类的实例
class语句本身并不创建该类的任何实例。所以在类定义完成以后,可以创建类的实例,即实例化该类的对象。创建类的实例的语法如下:
classname(parameterlist)
其中,ClassName是必选参数,用于指定具体的类; parameterlist是可选参数,当创建一个类时,没有创建_ init_ 0方法, 或者_init_ ()方法只有一个 self参数时,parameterlist 可以省略。
3.创建类的成员并访问
所谓实例方法是指在类中定义的函数。该函数是一种在类的实例上操作的函数。实例方法的第一个参数必须是 self,并且必须包含一个self参数。创建实例方法的语法格式如下:
def functionName(self,parameterlist):
block
参数说明:
functionName: 用于指定方法名, 一般使用 小写字母开头。
Self: 必要参数,表示类的实例,其名称可以是self 以外的单词,使用self只是一个惯例而已。
Parameterlist:用于指定除self参数以外的参数,各参数间使用逗号“,”进行分隔。
Block:方法体,实现的具体功能。
实例方法创建完成后,可以通过类的实例名称和点(.) 操作符进行访问,语法格式如下:
instanceName.functionName(parametervalue)
参数说明:
instanceName:为类的实例名称。
functionName:为要调用的方法名称。
Parametervalue: 表示为方法指定对应的实际参数,其值的个数与创建实例方法中parameterlist的个数相同。
4.创建用于计算的属性
通过@property创建用于计算的属性的语法格式如下:
@property
def methodname(self):
block
参数说明:
methodname: 用于指定方法名, 一般使用小写字 母开头。该名称最后将作为创建的属性名。
Self:必要参数,表示类的实例。
Block: 方法体,实现的具体功能。在方法体中,通常以returm语句结束,用于返回计算结果。
5.继承的基本语法
通过继承不仅可以实现代码的重用,还可以通过继承来理顺类与类之间的关系。在Python中,可以在类定义语句中,类名右侧使用一对小括号将要继承的基类名称括起来,从而实现类的继承。具体的语法格式如下:
class ClassName(baseclasslist):
“类的帮助信息” # 类文档字符串
statement # 类体
参数说明:
ClasSName: 用于指定类 名。
Baseclasslist: 用于指定要继承的基类,可以有多个,类名之间用逗号“,”分隔。如果不指定,将使用所有Python对象的根类object。
.“类的帮助信息”:用于指定类的文档字符串,定义该字符串后,在创建类的对象时,输入类名和左侧的括号“(” 后,将显示该信息。
Statement:类体,主要由类变量(或类成员)、方法和属性等定义语句组成。如果在定义类时,没想好类的具体功能,也可以在类体中直接使用pass语句代替。
6.方法重写
基类中定义的harvest)方法, 无论派生类是什么水果都显示“水.....”如果想要针对不同水果给出不同的提示,可以在派生类中重写harvest)方法。例如,在创建派生类Orange时,重写harvest()方法的代码如下:
class Orange(Fruit): # 定义橘子类(派生类)
color = "橙色"
def_ init_ (self):
print("\n我是橘子")
def harvest(self, color):
print("橘子是:" + color + "的! ") # 输出的是形式参数color
print("橘子有很多,大小不一")
print("橘子原来是:" + Fruit.color + "的! "); # 输出的是类属性color
7.创建函数
创建函数使用def关键字实现,具体的语法格式如下:
def functionname([parameterlist):
["comments"]
[functionbody]
参数说明:
functionname: 函数名称,在调用函数时使用。
parameterlist: 可选参数,用于指定向函数中传递的参数。如果有多个参数,各参数间使用逗号“”分隔。如果不指定,则表示该函数没有参数,在调用时也不指定参数。
"comments": 可选参数,表示为函数指定注释,注释的内容通常是说明该函数的功能、要传递的参数的作用等,可以为用户提供友好提示和帮助的内容。
functionbody: 可选参数,用于指定函数体,即该函数被调用后,要执行的功能代码。如果函数有返回值,可以使用return 语句返回。
8.调用函数
调用函数也就是执行函数,基本语法格式如下:
funcionname(parametesvalue)
参数说明:
functionname:函数名称,要调用的函数名称必须是已经创建好的。
parametersvalue: 可选参数,用于指定各个参数的值。如果需要传递多个参数值,则各参数值间使用逗号“”"分隔。如果该函数没有参数,则直接写一对小括号即可。
9.为参数设置默认值
定义带有默认值参数的函数的语法格式如下:
def functionname(.. ,[parameterl = defaultvalue1]):
[functionbody]
参数说明:
functionname: 函数名称, 在调用函数时使用。
parameter1 = defaultvaluel: 可选参数,用于指定向函数中传递的参数,并且为该参数设置默认值为defaultvaluel
functionbody: 可选参数,用于指定函数体,即该函数被调用后,要执行的功能代码。
10.返回值
return语句的语法格式如下:
returm [value]
参数说明:
value:可选参数,用于指定要返回的值,可以返回一个值,也可返回多个值。
11.匿名函数
匿名函数是指没有名字的函数,在Python中,使用lambda表达式创建匿名函数,其语法格式如下:
result = lambda [argl [,arg2,...,argn]]:expression
参数说明:
result:用于调用lambda表达式。
[arg1[,arg2,...,argn]]可选参数,用于指定要传递的参数列表,多个参数间使用逗号“”分隔。
expression: 必选参数,用于指定一个实现具体功能的表达式。如果有参数,那么在该表达式中将应用这些参数。
有帮助的话来个三连击
有帮助的话来个三连击
有帮助的话来个三连击
作者:ywsydwsbn