Python函数和类
本篇笔记主要内容是Python中函数和类相关基础知识总结和易错点分享,包括def、lambda、class等
Python中的函数
函数是一种仅在调用时运行的代码块,可以将数据(称为参数)传递到函数中,函数可以把数据作为结果返回。
- 创建:使用
def
关键字定义函数,创建成功后可以进行调用 - 调用:使用函数名称后跟圆括号
- 参数:信息可以作为参数传递给函数,参数在函数名后的括号内指定,多个参数需用逗号分隔
- 默认参数:调用了不带参数的函数,则使用默认值
- 任意参数:如果不知道传递给函数多少个参数,在函数定义的参数名称前添加
*
函数将接收一个参数元组,并可以相应地访问各项。 - 关键字参数:可以使用
key = value
语法发送参数,参数的顺序无关紧要。“关键字参数”一词通常简称为kwargs
- 参数类型:发送到函数的参数可以是任何数据类型(字符串、数字、列表、字典等),并且在函数内其将被视为相同数据类型
- 返回值:如需使函数返回值,使用
return
语句 - pass语句:函数定义不能为空,但是如果出于某种原因写了无内容的函数定义,需要使用 pass 语句来避免错误,等之后在进行补充完善。
#以下是个函数小栗子: def mydef(name,old): print('your name:',name,' old:',old) key = old+1 return key new = mydef('je', 15) print(new) your name: je old: 15 16
lambda匿名函数
lambda 函数可接受任意数量的参数,但只能有一个表达式,函数体更简单,一般只写一行,以下为一个小栗子:
x = lambda a, b : a * b+1 print(x(2, 8)) 17
- 创建语法:
name = lambda [list] : 表达式
- 注意:[list] 作为可选参数
- 优势:对于单行函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁。对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高程序执行的性能
Python中的类
Python 是一种面向对象的编程语言,类(Class)类似对象构造函数,或者是用于创建对象的“蓝图”, 用来描述具有相同的属性和方法的对象的集合,它定义了该集合中每个对象所共有的属性和方法。
- 创建类:使用
class
关键字进行创建 - 创建对象:根据类来创建对象,对象具有类的属性
- init() 函数:所有类都有一个名为 init() 的函数,它始终在启动类时执行,使用 init() 函数将值赋给对象属性。
- 注释:每次使用类创建新对象时,都会自动调用init() 函数
- 对象方法:对象也可以包含方法,对象中的方法是属于该对象的函数
- 提示:self 参数是对类的当前实例的引用,用于访问属于该类的变量,它必须是类中任意函数的首个参数
- 修改对象属性:直接利用
对象.参数=value
进行赋值,修改该对象的属性 - 继承:子类继承父类的属性和方法
class myclass: def __init__(self,name): self.name = name def myf(self,old): self.old = old print('hello,',self.name,self.old) p = myclass('tom') p.myf(23) hello, tom 23 # 修改对象属性 p.name = 'shiny' p.myf(15) hello, shiny 15 # 类的继承 class newclass(myclass): pass
易错点:
- 定义函数时默认参数必须放在参数列表的最后面,否则会报错
- 传递不定长参数有两种方法:
*
以元组的方式传入,**
以字典的方式传入 *
单独出现:如果单独出现星号,*
后的参数必须用关键字传入/
单独出现:强制位置参数,/
之前的参数必须使用指定位置参数- 函数内可以访问全局变量,但不能改变其值,如果需要改变全局变量的值,可以使用
global
方法
© 素材来源于网络,侵权请联系后台删除
往期推荐: