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
方法
本文由 mdnice 多平台发布