函数
def 函数名(形参列表):
return (x,y,z...)
- 递归函数
def fn(n):
if n ==0 :
return 1
elif n==1:
return 4
else :
#在函数中调用他自己,就是函数递归
return 2*fn(n-1)+fn(n-2)
print("fn(10)的结果是:",fn(10))
- 参数默认值
def func(a=default_a,b=default_b)
调用时候未指定a b 就用默认值
另外,python要求,带默认值的参数必须放在参数列表最后面。
def func(a,b=default_b)
- 参数收集 def 里面的带*
def func(a,b,*c)
a是普通参数, b是元组参数,c字典参数。
def test(a , *books , **scores):
print(books)
print(scores)
print(a)
test(5,'crazy english','crazy math',语文='word',数学='math')
# 'crazy english','crazy math' 两个参数一起作为数组传递给 books
# 语文='word',数学='math' 两个参数作为字典传入 ,注意参数key 不带 引号 。
输出
('crazy english', 'crazy math')
{'语文': 'word', '数学': 'math'}
5
- 参数逆向收集
def test(name,message):
print('user is :',name)
print('message is :',message)
my_list = ['lily','welcome to python']
test(*my_list) #将列表传递给def
#字典传递,形参里面的key值依旧不含 引号
def bar(book,price,desc):
print(book,'这本书的价格是 :',price,'描述信息是:',desc)
my_dict ={'price':98,'book':'crazy english','desc':'this is a good book'}
bar(**my_dict)
lambda 表达式
lambda [参数列表]:表达式
map(函数,列表) # 以列表中数值代入函数
map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
返回 [3, 7, 11, 15, 19]