Coconut赋予Python函数式编程语法

图片描述

长期以来,很多Python的粉丝都强烈要求Python加入函数式编程的特性。现在他们可以不必切换到别的实现版本,就可以获得这项特性。

Coconut是一个最近开发出的Python方言,提供了像函数式编程语言Haskell和Scala那样的语法。使用Coconut编写的程序可以编译成普通的Python代码,所以可以直接使用原来的Python解释器运行。

Coconut加入了很多特性,使得Python实现的一些事情更加典雅和可读。比如,“管道风格的编程”,允许函数的变量可以分开地传递给函数,比如,print("Hello, world!")可以写成"Hello, world!" |> print。Python的Lambda表达式或匿名函数可以写的更加明确,比如(x) -> x**2而不是原来的lambda x: x**2

有一个很多其他的现代语言支持,但是原生的Python不支持的特性,是正则匹配。变量可以通过一个定义的正则匹配字符串。在这种情况下,变量可以绑定匹配并作为参数传入一个函数中。

如果这听起来并没有什么了不起,只是如正常的表达式一般的功能,那么Coconut可以做的,远远超出了对字符串的匹配。例如,传入的一个对象列表可以用预期的类型去匹配。

Debug一直是方言的重灾区,很多编译成JavaScript的语言都很难调试,需要根据编译之前的源代码调试。Coconut提供了类似的东西:如果你通过命令行给Coconut的编译器传入一些参数,它就会将Coconut源代码和编译成的Python代码通过注释关联起来。

Coconut的创始人想将Coconut作为Python的一个逻辑扩展,而不是要替代Python。所有有效的Python应用在Coconut中同样有效,所以现在的Python库和C扩展库可以在Coconut中使用。

原文:Python gains functional programming syntax via Coconut
作者:Serdar Yegulalp
翻译:赖信涛
责编:魏伟


OpenStack Days China将于7月14-15日在北京国家会议中心举办,届时包括OpenStack基金会的Jonathan Bryce、Mark Collier、Alan Clark等大牛都将来到大会现场和2000名参会者一起相互交流,共话OpenStack大势,现在报名票价优惠,欲报从速(http://openstackdaychina.csdn.net/)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值