1、构建函数语法:
def 定的函数名(形参1, 形参2, ……):
函数中要实现的内容
定的函数名(实参1, 实参2,……)
定的函数名.__doc__
#返回函数中的函数文本
2.函数中关键字参数:
def 定的函数名(a, b):
print(b + a)
定的函数名(a="美好", b="这个世界很")
#指定元素的值
执行结果为:
3.默认参数(在调用函数时也可以添加参数 使其改变):
def 定的函数名(a="这个世界", b="很美好"): #默认以定义该元素的值
print(a+b)
定的函数名()
执行结果和上面的执行效果一样 也是“这个世界很美好”
4.收集参数:可以传任意数量参数:
#格式:
def 定的函数名(*形参名):
函数中要实现的内容
定的函数名(实参1, 实参2,……)
例如:
def ind(*a):
print("参数的长度是", len(a))
print("第二个参数是", a[1])
ind(1, 2, 3, 4, 5, 6, 7)
执行结果为:
5.使用global关键字可以让函数里面的局部变量定义为全局变量:
i = 1
def 函数名():
global i #此处使用该关键字使得可以对全局变量i做到重新定义的操作
i = 555
return i
函数名()
6.内嵌函数:
*函数可以嵌套使用
*函数被内嵌之后只能在被嵌套的函数外层调用 不然会报错
def 函数名1():
函数1内容
return 函数1内容
def 函数名2():
函数2内容
return 函数2内容
函数名1()
7.闭包:
def a(x):
def b(y):
return x * y
return b
i = a(8)
8.调用时使用 nonlocal 关键字声明该变量不是局部变量:
def a(x):
x = 5
def b(x):
nonlocal x #使用该关键字声明之后就可以使用到外层函数的变量
x *= 5
return x
9.使用lambda表达式创建匿名函数(不需要为函数命名 直接使用变量然后赋值):
sum = lambda x,y:x+y
sum(3,5)
执行结果为:
*此方法可以省去定义函数的过程 使用lambda关键字可以使代码更加精简
10.两个常用功能内置函数:
10.1 *filter内置函数(过滤器 自动过滤掉非True的值):
list(filter(None,0,1,True,False,))
执行结果 则该列表返回结果为[1,True]
例子::实现返回奇数
list(filter(lambda x:x%2,range(10)))
执行结果 则会返回列表[1,3,5,7,9,]
10.2*map内置函数(映射 使值与函数加工一一对应返回)
list(map(lambda x:x*2,range(10)))
执行结果 则会返回列表[0,2,4,6,8,10,12,14,16,18]