2.5 函数的拓展

1.匿名函数(简化代码)

        python中没有这个概念,通过lambda关键字可以简化函数的代码写法

    2.lambda表达式

        arguments = lambda 参数列表 : 函数体

        print(aarguments(参数))

#测试lambda

#原本代码

def sum1(x,y):

    return x+y

print(sum1(1,2))

#用lambda简化后的函数

sum2 = lambda x,y : x+y       #lambda 参数列表 :函数体

print(sum2(1,2))    #多个参数的写法

#一个参数的写法

test1 = lambda x : print(x)

test1("wzw")

#没有参数的写法

test2 = lambda : print("lisi")

test2()

#应用:排序

test_list = [4,3,7,1,8,6,2,5]

print("排序前:",test_list)         #[4,3,7,1,8,6,2,5]

test_list.sort()        #排序函数sort()

print("排序后:",test_list)         #[1,2,3,4,5,6,7,8]



test_list_lambda = ["aaaaaa","aaa","aa","a","aaaa"]

print("排序前:",test_list_lambda)

test_list_lambda.sort(key=lambda x : len(x))    #len(x) 定义排序规则为根据字符串的长度来排序

print("排序后:",test_list_lambda)       #排序后: ['a', 'aa', 'aaa', 'aaaa', 'aaaaaa']


3.偏函数(partial function)

        对原有的函数进行增强(设置默认值)

def test_paitail_fn(x,y):

    print(f"收件地址:{x} , 寄件地址:{y}")



import functools

test_paitail_fn = functools.partial(test_paitail_fn,y = "西安培华学院")         #创建偏函数  通过 y = "西安培华学院" 将原函数的 y 参数固定为 "西安培华学院"。



test_paitail_fn("汉中")     #收件地址:汉中 , 寄件地址:西安培华学院

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值