Python 是一門更注重可讀性和效率的語言,尤其是相較于 Java,PHP 以及 C++ 這樣的語言,它的這兩個優(yōu)勢讓其在開發(fā)者中大受歡迎。
誠然,它有點(diǎn)老了,但仍是80后啊 —— 至少沒有 Cobol 或者 Fortran 那么老。而且,如果還能派上用場的話,為啥要折騰著改變它呢 (尤其在這個還有那么多方法可以提升它性能的時候)?
實(shí)際上這要看你怎么看待它,生命線長本身就是件好事 —— 說明它穩(wěn)定且可靠。
如果你是像其他許多人一樣都是從 Java,C 或者 Perl 開始進(jìn)入職業(yè)生涯的,那么學(xué)習(xí) Python 的曲線基本上是不存在的。然而也正是由于 Python 易于上手這一事實(shí),讓有些人沒有意識到 Python 也應(yīng)該是一項(xiàng)必要的編程技能。
我要向各位坦誠,我對 Python 的喜愛也是從幾年以前才開始的。不經(jīng)歷長期的痛苦教訓(xùn),我們是不會對這門語言以及它的平臺所提供的一切心生感激的。我寫下這篇短文的目的就是要將你從同樣的痛苦中拯救出來,讓你明白為什么需要去了解 Python。
1. Python 易于學(xué)習(xí)
好吧,相較于其它許多你可以拿來用的編程語言而言,它“更容易一些”。Python 的語言沒有多少儀式化的東西,所以就算不是一個 Python 專家,你也能讀懂它的代碼。我的經(jīng)驗(yàn)是,通過實(shí)例來學(xué)習(xí)和教授 Python 要比采取同樣的方式去接觸比方說 Ruby 或者 Perl 更加容易,因?yàn)?Python 的語法里面條條框框以及特殊的處理場景要少得多。 它所專注的并非語言表現(xiàn)的豐富程度,而是你想要用你的代碼完成什么。
2. Python 讓你能用少量的代碼構(gòu)建出更多的功能
Python 能帶給所有開發(fā)者一種快速的學(xué)習(xí)體驗(yàn)。通過實(shí)踐,你可以在最多兩天之內(nèi)輕松實(shí)現(xiàn)一個具備基礎(chǔ)功能的游戲 (而這還是在對編程完全不了解的情況下)。
另外一些讓 Python 成為一門引人注目的編程語言的因素就是它的可讀性和高效性。
3. Python 是一門多才多藝的語言,更是一個平臺
Python 今年 28 歲了。盡管它比我的許多讀者年紀(jì)還要大,但是仍然受到高度的關(guān)注,因?yàn)樗梢员粦?yīng)用于如今你所能想得到的相當(dāng)多的軟件開發(fā)和操作場景。要管理本地或者云基礎(chǔ)設(shè)施嗎?Python可以。開發(fā)網(wǎng)站?OK,它也能行的。需要處理一個 SQL 數(shù)據(jù)庫?可以。需要為 Hive 或者 Pig 定制一個功能?能做到。只是想為自己構(gòu)建一個小工具?Python 就是最好的選擇。需要一門支持面向?qū)ο笤O(shè)計的語言?Python 的特性就能滿足啦。簡而言之,將 Python 了解得更加深入一點(diǎn)點(diǎn),就能讓你具備可以適應(yīng)范圍更寬泛的工作角色的技能。
4. Python 擁有最成熟的程序包資源庫之一
一旦你了解了該語言,就可以利用上這個平臺。Python 以 PyPI (讀作 Pie-Pie,可以從 這里 在線進(jìn)行了解)為其后盾, 這是一個擁有超過 85,000 個 Python 模塊和腳本的資源庫,你拿過來就立馬可以使用。這些模塊向你的本地 Python 環(huán)境分發(fā)已經(jīng)預(yù)先打包好的功能,可以用來解決各種諸如數(shù)據(jù)庫處理,計算機(jī)視覺實(shí)現(xiàn),像維度分析這樣的高級數(shù)據(jù)分析的執(zhí)行,或者是構(gòu)建 REST 風(fēng)格的 web 服務(wù)這些問題。
5. Python 在數(shù)據(jù)科學(xué)領(lǐng)域被廣泛使用
不管你從事的是什么工作,數(shù)據(jù)都會是其中的一部分。IT,軟件開發(fā),市場等等 —— 它們都深度地關(guān)乎數(shù)據(jù)且對于智慧求之若渴。很快數(shù)據(jù)分析技能就會像編碼技能一樣的重要,而 Python 在兩個領(lǐng)域都占有重要的地位。Python 緊挨著 R 語言,都是現(xiàn)代數(shù)據(jù)科學(xué)中最常被使用的語言。事實(shí)上,在數(shù)據(jù)科學(xué)領(lǐng)域,Python 的職位職位需求超過了 R 語言。你在學(xué)習(xí) Python 時發(fā)展出來的技能將會直接轉(zhuǎn)換并被用來構(gòu)建起自己的這些分析技能。
6. Python 是跨平臺且開源的
Python 可以跨平臺運(yùn)行,并且已經(jīng)開放源代碼超過20年的時間了,如果你需要代碼能同時在Linux,Windows 以及 macOS 上跑起來,Python 就能滿足要求。此外,有數(shù)十年的修修補(bǔ)補(bǔ)以及不斷完善做后盾,可以確保你能夠隨心所欲地運(yùn)行自己的代碼。
7. Python 是靈活的
有一些Python同其它編程語言集成在一起的穩(wěn)定實(shí)現(xiàn)。
CPython, 同 C 集成的版本。
Jython, 同 Java 集成的Python版本。
IronPython, 被設(shè)計用來兼容 .Net 和 C#。
PyObjc, ObjectiveC 工具包寫的 Python 版本。
RubyPython, 同 Ruby 集成的 Python 版本。
總結(jié)
并沒有很多的語言能提供像 Python 這樣的多樣性和簡潔性; 能持續(xù)努力演進(jìn)并讓社區(qū)繁榮好幾十年的就更少了。無論你是編碼新手還是能信手寫就腳本的大師,都需要了解一下 Python。