python代码量少_Python可以减少代码量?我不信

突然看到好几篇文章,内容基本上是什么用Java需要100行,用PHP只需要30行,用Python只需要10行(数字记不清了)。简单说一下我的看法。

我不服,凭啥都是编程语言,你行我就不行?

我记不清当时给出的支持Python可以少写代码的栗子具体是什么了,它给出的是实现了某个功能,两行搞定,一行引入,一行调用。

当时看的我一脸懵逼,哇,真的耶。只用一行就可以。但稍后一想,这也太扯了吧。你看着貌似是只调用了一行代码,但里边具体的实现不还是有的么?代码量并没有减少,只不过是搬到了你看不到的地方,假象罢了。

当然,我是支持用Python可以少写代码的,但并不是刚才说的那样。

在我看来,这个问题得从语法层面来说,只有语法支持,才算真的能够减少代码量。其实各个语言都有其特定的语法。就像PHP中变量直接当函数用,直接当类用,连反射都不用了。

举个栗子就是大家都熟悉的lambda。现在有一个需求,要接收外部穿进来的函数。给出不同语言的实现

Java版本

//因为Java中一切都是对象,所以尽管提供了lambda的支持,但并不能直接调用函数,而是以接口的形式调用

interfaceMathTest {int add(int a, intb);

}//接收lambda的函数

voiddispose(MathTest mt){int v = mt.add(1, 3);

}//调用函数的地方

dispose((x, y) -> x + y)

因为Java一切皆是对象,lambda其实就是一个匿名内部类。

PHP版本

//接收函数

function dispose($fun){$v = $fun(1, 3);

}//调用的地方

dispose(function($a, $b){return $a + $b;

});

PHP可以直接传函数,已经很方便的,但是不支持lambda,还是需要正儿八经的写个函数传过去。

Python版本

defdispose(fun):

v= fun(1, 3)

dispose(lambda x, y: x+y)

Python既可以直接传函数,又支持lambda表达式。

当然,还有一些其他的语法,是可以稍稍体现一哈Python的独到之处的。嘿嘿

简单罗列了一些Python的语法支持,确实是不用写过多代码就能实现相关功能。

元素交换

a,b = b,a

实现两个元素值的交换,无需临时变量。

数组生成

list = [x for x in range(20) if x%2 == 0]

生成偶数列表,这个一行搞定,舒服。

列表切片

list[1:4]

对列表的各种切片操作。

其实,Python最大的特点就是,他没有大括号。刚开始从Java到Python时,看着没有大括号的程序,很顺眼。但现在用了一段时间的PHP,又突然感觉没有大括号有点别扭。哼,男人。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值