Python为什么简便?

几年前就听说过这个语言,只知道他一直越来越火,却一直没有想去使用它的念头,我在写一些类似脚本的东西时会倾向于选择shell,或者直接用一门静态语言编写,而如果是构建一些比较大的程序,我绝对不想用一门动态语言编写。
但是最近突然发现他在tiobe上的排名居然已经超过了c#,排到了第四的位置,同时还有在继续上升的意思,这让我非常不解,python到底有什么神奇的魔力?
同时也让我决定还是学习一下python,就算不在日常生活中使用,也可以看看他到底有那些有趣的语法特性。
几天看下来,说说个人的理解。

首先是非常多的全局方法

可能大多数人使用python只用到它一个非常小的方法集,所以python把一些使用最频繁的方法变成了全局方法。
例如open

非常多的语法糖

使用python最多的情况就是数据处理了吧,所以python为数据处理也提供了非常多的语法糖,例如列表推导,切片。这也是为什么很多同样的任务用python写行数会非常短的原因。嘛虽然行数短其实花的时间我觉得差不多啊,毕竟大部分时间都是花在思考比较难的问题,常见问题基本上不用怎么过脑子。

当然,行数短往往会看起来简便一些,而且设计的好的语法糖会使表达的逻辑更加清晰,例如一些for循环处理,就远远不如一个列表推导来的清晰(当然前提是双方都要看的懂语法糖)

例如下面这段代码,导入一个每行都是一条json的对象,然后提取出他们的时区。可以说是非常清晰了,但如果你用几条for循环,不仅代码长,而且需要更长的时间来理解代码的意思。

就算是用函数式的思想来写,filter 然后map ,行数可能差不多,但是语义也要比单纯的语法糖来的不清晰一些

import json

path="example.txt"
record=[json.loads(line) for line in open(path)]
time_zones=[rec['tz'] for rec in record if 'tz' in rec]

我个人还是倾向于更多的语法糖,更简便的语法的,但是可能有的人就觉得语法糖使得语言乱七八糟,而且需要很多时间来学习,而喜欢所有任务都用最原始的方法解决。

然后就是强大的库喽,python的库和社区在所有主流语言中也算是名列前茅了,可能只有js和java才能和他一较高下了。

还有就是一些动态语言本身比静态语言优越的地方,这个就不多说了。

python有些地方我还是很喜欢的,比如他那个强制的缩进,我觉得可以在其他语言里推广推广,因为这些年看到过好多迷之缩进的代码,看得人头昏脑涨。

说了这么多,最后发现我还是喜欢不上动态语言,可能还是有一些先入为主的观念吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值