函数的定义与使用
函数的定义:函数是一段代码的表示
两个作用:降低编程难度和代码复用
def <函数名>(<参数(0个或多个)>):
<函数体>
return <返回值>
函数可以有参数,也可以没有,但必须保留括号
函数定义时可以为某些参数指定默认值,构成可选参数
def <函数名>(<非可选参数>,<可选参数>):
<函数体>
return <返回值>
函数定义时可以设计可变数量参数,既不确定参数总数量
def <函数名>(<参数>,*b):
<函数体>
return <返回值>
函数的调用:调用时运行函数代码的方式
调用时要给出实际参数
实际参数替换定义中的参数
函数调用后得到返回值
函数调用时,参数可以按照位置或名称方式传递
函数的返回值:函数可以返回0个或多个结果
return保留字用来传递返回值
函数可以有返回值,也可以没有,可以有return,也可以没有
return可以传递0个返回值,也可以传递任意多个返回值
局部变量和全局变量
规则1:局部变量和全局变量是不同变量
-局部变量是函数内部的占位符,与全局变量可能重名但不同
-函数运算结束后,局部变量被释放
-可以使用global保留字在函数内部使用全局变量
规则2:局部变量为组合数据类型且未创建,等同于全局变量
ls=["F","f"]#通过使用[]真实创建了一个全局变量列表ls
def func(a):
ls.append(a)#此处ls是列表类型,未真实创建则等同于全局变量
return
func("C")#全局变量ls被修改
print(ls)#运行结果['F','f','C']
ls=["F","f"]#通过使用[]真实创建了一个全局变量列表ls
def func(a):
ls=[]#此处ls是列表类型,真实创建,ls是局部变量
ls.append(a)
return
func("C")#局部变量ls被修改
print(ls)#运行结果['F','f'],局部变量不影响全局变量
lambda函数:一种匿名函数,即没有名字的函数,使用lambda保留字定义,函数名是返回结果,用于定义简单的、能够在一行内表示的函数。
lambda函数
<函数名> =lamba <参数>: <表达式>
def <函数名>(<参数>):
等价于 <函数体>
return <返回值>