部分使用类固醇的蟒蛇

partialize的Python项目详细描述


部分使用类固醇的Python

https://travis-ci.org/5monkeys/partialize.png?branch=master

类似于python functools.partial,但具有对args和kwargs的更改/扩展访问。 也是一个很好的工具,即使不需要部分,但函数采用的args/kwargs通常依赖于逻辑。

最容易用作装饰器

frompartializeimportpartialize@partializedefdummy(a,b,c=None):return'hello world'partial_dummy=dummy.partial(1)partial_dummy.b=2partial_dummy(c=3)

或调用内联…

partial_dummy=partialize(dummy)partial_dummy.a=1partial_dummy.update(b=2)partial_dummy()partial_dummy(c=3)

在需要逻辑来影响传递参数的函数上使用它,而不是将dict构建并传递为kwargs 它经常变得很凌乱,很难阅读。

dict kwargs示例:

frompartializeimportpartialize@partializedefsearch_products(site,query=None,brand=None,tags=None):passkwargs={}iflogic:kwargs['query']=qifmore_logic:kwargs['brand']='brand name'products=search_products(site,**kwargs)

划分示例:

search=search_products.partial(site)iflogic:search.query=qifmore_logic:search.brand='brand name'products=search()
Note: function argument names are validated when set, unlike dict string keys.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何让ruby和maven协同工作   如何从Java代码中调用Excel VBA宏?   java是公共类的默认成员   java Android TextToSpeech总是无法运行   导入JAVA包的类不存在   java中有很多JSP/Servlet应用程序示例,为什么是。使用inc扩展代替。包含的jsp?   tomcat向JavaWebApp添加JAR   java如何在MySQL中向表中插入变量   java在Spring web app中找不到类[org.springframework.scheduling.quartz.SchedulerFactoryBean]   swing Java GUI布局建议   java Google HTTP库JSON解析,空值默认为True   java使用Eclipse和Apache Tomcat 9.0开发聊天机器人   java我可以使用vmware软件包更改虚拟机的IP地址吗?   java在单击“后台运行”后返回进度监视器对话框   java uibinder onload not调用   java Spring数据分页和排序存储库的工作原理