python进阶一(函数式编程)【19 python中的偏函数】

已有人阅读此文 - - 未知

python进阶一(函数式编程)【19 python中的偏函数】知识,python进阶一(函数式编程)【19 python中的偏函数】图片 python进阶一(函数式编程)【19 python中的偏函数】内容,python进阶一(函数式编程)【19 python中的偏函数】介绍,python进阶一(函数式编程)【19 python中的偏函数】,十进制,二进制,整数,调用,编程的正文:

python进阶一(函数式编程)【19 python中的偏函数】包含:python进阶一(函数式编程)【19 python中的偏函数】介绍的方法与命令流程等可以帮助到读者。

python进阶一(函数式编程)【19 python中的偏函数】例图

python进阶一(函数式编程)【19 python中的偏函数】

标签:大小函数调用大小写进阶简单的funred忽略stylepython中偏函数

当一个函数有很多参数时,调用者就需要提供多个参数。如果减少参数个数,就可以简化调用者的负担。

比如,int()函数可西门子plc编程培训以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换:

>>> int(‘12345‘)

12345

但int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做N进制的转换:

1 >>> int(‘12345‘, base=8)

2 5349

3 >>> int(‘12345‘, 16)

4 74565

假设要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到,可以定义一个int2()的函数,默认把base=2传进去:

1 def int2(x, base=2):

2 return int(x, base)

这样,我们转换二进制就非常方便了:

>>> int2(‘1000000‘)

64

>>> int2(‘1010101‘)

85

functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2:

>>> import functools

>>> int2 = functools.partial(int, base=2)

>>> int2(‘1000000‘)

64

>>> int2(‘1010101‘)

85

所以,functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了。

任务

在第7节中,我们在sorted这个高阶函数中传入自定义排序函数就可以实现忽略大小写排序。请用functools.partial把这个复杂调用变成一个简单的函数:

1 import functools

2 sorted_ignore_case = functools.partial(sorted, cmp=lambda s1, s2: cmp(s1.upper(), s2.upper()))

3 print sorted_ignore_case([‘bob‘, ‘about‘, ‘Zoo‘, ‘Credit‘])

python进阶一(函数式编程)【19 python中的偏函数】标签:大小函数调用大小写进阶简单的funred忽略style原文地址:https://www.cnblogs.com/ucasljq/p/11622294.html

1python进阶一(函数式编程)【19 python中的偏函数】系部分转载自网络,如有对程序员或作者侵犯,请联系我们立即删除,另:本文仅代表作者个人观点,与本网站无关。

2python进阶一(函数式编程)【19 python中的偏函数】这篇文章的原创性以及文中对于编程运维专业度的陈述文字 和内容未经本站证实,对本文以及其中全部或者部分内容及图片的有效性、文字的真实性、完整性、及时性本站不作任何保证或承诺以及推荐,本站非盈利,有对图片文字不适的请程序员及读者仅作参考并自行核实相关内容

3这篇python进阶一(函数式编程)【19 python中的偏函数】的文章,涉及的十进制,二进制,整数,调用,编程命令,变量,函数,代码,类,库等皆是代称