函数是一段具有特定功能的、可重用的语句组合,用一段代码表示,可降低编程难度和代码复用
函数定义后,不经调用,不会被执行
函数格式
函数使用def声明
def (,):
函数体
return
函数的输入参数
可为0个或者多个,其中,可选参数放在后边,必选参数放在前边
def() 没有参数
def(n) 有一个参数
def(n,m=1)其中m可选
def(n,*b),其中*b参数为可变参数
函数的返回
可以为0个,一个,也可以为多个,使用return
return s 返回一个
return s,x 返回多个
函数的调用,可根据位置输入参数,也可根据变量名输入
def(3,5) 根据变量位置
def(m=3,n=5) 根据变量名赋值调用
#0个参数
def test0():
print("这是一个测试函数")
test0()
#一个参数
def test(n):
print("这是一个测试函数{}".format(n))
test(5)
#两个参数,一个可选
def test2(m,n=1):
s=m+n
return s
print(test2(5))
#包含可变参数
def testm(m,*b):
s=0
for i in b:
s=s+i
s=s+m
return s
print(testm(10,1,2,3))
#lambda函数
f=lambda x,y:x+y
print(f(3,5))
函数体的局部变量和全局变量
1.一般而言,函数内均为局部变量,和全局变量是不同的变量。就算名字相同时也是如此
2.但是,如果局部变量为组合类型且未创建,等同于全局变量。比如list,dic类型
3.局部变量使用后即释放
4.可在函数内使用global保留字使用全局变量
函数的特殊使用lambda函数:简单的匿名函数;f即为返回函数
f=lambda x,y:x*y
f(10,15)-->150