函数和lambda表达式

2020-04-05  本文已影响0人  咚咚强

函数

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 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]

上一篇 下一篇

猜你喜欢

热点阅读