今天,总结一下函数:
定义一个函数 首先,需要 关键字 def , 还需要 函数名 function 以及参数
例如:
def function(x,y=0,*args,**kwargs):
print('x的值为:',x)
print('y的值为:',y)
return x+y
这就是一个简单函数: 括号内的为:参数
接下来说说它改如何使用,即函数的调用:
如下:
function(x=2)
此时,只能看见print打印的内容,其他的回事空值
如果想要得到return返回值,需要print打印
如下:
print(function)
注意: return返回值,在函数中,只能返回一次 可以把返回值赋值给变量
print 打印值 ,没有限制次数 不可以把返回值赋值给变量
接下来,是函数的参数:
1,python主要 有必备参数, 默认参数 和 不定长参数 三种参数。
例如:
def function(x,y=0,*args,**kwargs):
print(x) ## x 为 必备参数 : 调用函数时 必须传入
print(y) ## y 为 默认参数 : 可传可不传,不传使用默认值 如上:为0
print(args) ## args kwargs 为 不定长参数 : 可传可不传
print(kwargs) # 其中, args 接收 元组类型 ; kwargs 接收 字典类型
# 注: 参数的参数名可以改变,但要自己知道自己参数代表的意义
例如:调用一下
function(x=18,23,3,3,a=23,b=2)
2.函数的作用域:
全局作用域:
a = 2048
def func():
global a ## 声明全局变量(global + 需要声明的变量) 声明前不能修改外部变量
a += 2
return a
func()
局部作用域:
def fun():
a = 2048
def func():
nonlocal a ## 声明局部变量(nonlocal + 需要声明的变量) 声明前不能修改外部变量
a += 2
return a
return func
print(fun())
闭包:
def fun():
a = 2048
def func():
nonlocal a
a += 2
return a
return func
print(fun())
## 把内部函数 和 外部函数 都称为闭包
作用:连接函数内部与外部,使得可以在函数外部可以直接修改内部的变量值
3.递归函数:
def rec(n):
if n >= 4 : # 结束条件
return 4
else:
return n*rec(n+1) # rec(n+1) 调用本身,改变变量值
print(rec(1))
4.匿名函数: 关键字( lambda)
匿名函数:没有函数名的函数;用来定义简单函数。
例如:
li=[(1,2,3,4),(2,0,1,4),(8,3,2,1)]
li.sort(key=lambda x : x[1])
print(li)