Python 的设计理念
要了解 Python 刷力扣是一种怎样的体验,我们不妨先来了解一下 Python 的前世今生和设计理念。
前世今生
Python 是一种解释型,交互式,面向对象性的脚本语言。它是由荷兰计算机程序员吉多·范罗苏姆(Guido van Rossum)与1989年圣诞节期间发明,Python 这个名字来源于来自于他最喜欢的英国电视喜剧 "Monty Python's Flying Circus",当然 Python 自身也有大蟒蛇的意思,所以我们经常能看到 Python 与蛇联系在一起。
设计理念
Python的设计哲学有三个关键词就是"优雅","明确"和"简单"。Python 认为如果有多种方法来做同一件事是难以接受的,Python 理念是认为用一种方法且最好只有一种方法来做一件事。
LeetCode 上 Python 提交的几个特点
我们选取了力扣部分题目上 Python 语言和其他语言提交并比较,得出了在力扣上 Python 提交的几个特点。
1. 简洁
力扣上 Python 语言的提交普遍比 C++,Java 简洁和短,有时候 Python 实现一个小功能需要一行,而 C++ 却需要四五行甚至更多。
下面我们列出了几个有 Python 特色的例子,小伙伴们可以尝试一下用 C++ 语言写,看看需要几行。
print sum(range(1,101)) #1~100求和
sum(map(int, str(2**1000))) #小伙伴猜猜这句Python语句作用是什么
a,b=b,a #C++同学禁用algorithm库哦
return str[::-1] #很多小伙伴提到了这个,这个确实很妙
一个小彩蛋
import this #the Zen of Python
2. 可读性
由于 Python 采用强制缩进等措施,使得 Python 可读性较其他语言高,而且 Python 自身就有一种伪代码风格,用 Python 解决问题可以更加专注于问题本身而不是所用语言本身,当然 Python 的可读性好坏也是取决于写程序的人水平高低。
3. 慢
Python 有很多显著的优点,但也有一个解释性语言的通病,就是执行效率低,在力扣的所有语言提交排行榜中,Python 语言所在位置往往在较后面。
虽然Python比其他语言慢,但是却能极大提升我们的编程效率,人生苦短,有时候我们的瓶颈并不在于提升程序运行的那几秒,而在于我们的开发效率,要说世界上什么东西最值钱,当然是时间。
最后
Python 有优点也有缺点,但瑕不掩瑜,用 Python 刷力扣有非常良好的体验。
当然,对于力扣上一些题需要实现某些库函数,小伙伴们不能偷懒调用 Python 的库哦,还是要老老实实自己写一遍,毕竟这样才能得到充分锻炼哦。
如果很多用户对于Python的基础与算法不是很好,可以选择uoffer课程:Python基础数据结构与算法