Python-函数
1.函数定义
def name (参数名):
函数体
return 返回值
通过缩进来表示函数体的作用范围
2.基本形式
1)无参无返回值
def myFunc ():
print('你是猪吗')
2)无参有返回值
def myFunc ():
return '你是猪吗'
3)有参无返回值
def myFunc (name):
a = name
print(a)
调用: myFunc('你是猪吗')
4)有参有返回值
def myFunc (name):
a = name
return a
调用:c = myFunc('你是猪吗')
5)多返回值
Python函数也可以返回多个值,这些返回值会被打包成元组进行返回
def myFunc()
return 'a',1,'c'
输出:('a',1,'c')
注意:不同于其他语言,函数无返回值类型并不是真的没有返回值,只不过默认返回的值是None
3.默认参数
默认参数的值如果没有传入,则被认为是默认值
def myFunc (name,age = 0):
print(name,age)
4.函数内部修改全局变量
a = 100
def changeFunc():
a = 10
print(a)
此时无法修改全局变量a,在方法内部可以使用全局变量,但无法直接修改,当进行修改时,会在函数内部创建一个新的局部变量,与全局变量没有关联
想要修改全局变量需要使用global 关键字,注意需要先声明,再使用
a = 100
def changeFunc():
global a
a = 10
print(a)
5.匿名函数
python 使用 lambda 来创建匿名函数。
lambda只是一个表达式,函数体比def简单很多。
lambda 参数1,参数2:表达式
6.过滤器filter()
过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
接收两个参数,第一个为函数,第二个为序列(数组),序列的每个元素作为参数传递给函数进行判断,然后把满足函数条件的的元素放到新列表中进行返回。
函数的返回值必须是true/false 或者1/0
def is_odd(n):
return n % 2 == 1
tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist = list(tmplist)
print(newlist)
输出:[1, 3, 5, 7, 9]
7.映射函数 map()
接收两个参数,第一个为函数,第二个为序列(数组),序列的每个元素作为参数传递给函数进行运算,然后把返回结果作为新的序列中的元素。
def add(x,y):
return x*y
res = map(add,[1,2,3],[4,5,6])
list[res]
输出结果:[4, 10, 18]