關(guān)于Python的故事

2018-02-24 15:48 更新

本書出處:https://github.com/qiwsir/StarterLearningPython
作者:老齊

我已經(jīng)在《零基礎(chǔ)學(xué)Python(第一版)》中寫了一個(gè)專門講述Python故事的——嘮叨一些關(guān)于Python的事情——章節(jié),今天再寫類似的標(biāo)題,不打算完全重復(fù)原來的,只是把部分認(rèn)為重要的或者不可或缺的東西復(fù)制過來。

越來越火的Python

在前幾年(before 2011),我跟一些朋友介紹python的時(shí)候,看到的常常是一種很詫異的眼神,通常會聽到:

“那時(shí)什么東西?”
“解釋性語言會不會很慢?”
“沒聽說誰用呀?”
“能像php,java,c#那樣用來做網(wǎng)站嗎?”
“什么?你說的是pascal?你還在用這個(gè)老古董?”
“哦,我聽說過,有一些老外在用,不過我們這還沒有人用呢?!?/code>

時(shí)過境遷,現(xiàn)在已經(jīng)有了很大變化。

2014年初,我開始寫《零基礎(chǔ)學(xué)Python》系列,就得到了很多朋友的支持,而且吸引了不少學(xué)習(xí)Python的朋友,特別是在我的那個(gè)QQ群里面,集中了不少學(xué)習(xí)者和愛好者,當(dāng)然也有高手深藏不露。

獲得我發(fā)布的有關(guān)Python信息途徑:
1\. 加入QQ群,里面可以跟很多人交流。QQ群:Code Craft:26913719
2\. 關(guān)注我的新浪微博,名稱是:老齊Py。地址:http://weibo.com/qiwsir
3\. 到github.com上直接follow我,名稱是:qiwsir。地址:https://github.com/qiwsir
4\. 經(jīng)常關(guān)注我的網(wǎng)站:www.itdiffer.com

特別是今年(2015年)一開始,在QQ群(26913719)里面,就有朋友說,他在上海找工作,看到好多公司都要有Python開發(fā)經(jīng)驗(yàn)的。也有朋友委托我推薦Python程序員的。

從我自己的經(jīng)歷中也感受到,不僅僅是國外,國內(nèi)也如此,用Python的領(lǐng)域越來越多,找Pythoner的公司和機(jī)構(gòu)也越來越多了。

所以,學(xué)習(xí)Python,挺好(包括女生,也是“挺”好)。

還要補(bǔ)充一點(diǎn),Python能夠滿足現(xiàn)在最時(shí)髦的“大數(shù)據(jù)”方面的開發(fā)需要,要想了解,推薦閱讀《大數(shù)據(jù)全棧式開發(fā)語言 – Python》

需要什么基礎(chǔ)嗎

這是很多初學(xué)者都會問的一個(gè)問題。誠然,在計(jì)算機(jī)方面的基礎(chǔ)越好,對學(xué)習(xí)任何一門新的編程語言,都是更有利的。如果,你在編程語言的學(xué)習(xí)上屬于零基礎(chǔ),也不用擔(dān)心,不管用哪門語言作為學(xué)習(xí)編程的入門語言,總要有一個(gè)開始吧。

就我個(gè)人來看,Python是比較適合作為學(xué)習(xí)編程的入門語言的(作為學(xué)習(xí)編程的入門語言,我現(xiàn)在最不理解的是用C,因?yàn)楹芏嘣?jīng)立志學(xué)習(xí)編程的人學(xué)了C語言之后,才知道自己不適合編程。難道是用C來篩選這個(gè)行業(yè)的從業(yè)者嗎?)。總之,不用擔(dān)心自己的所謂基礎(chǔ)問題。

看我這個(gè)教程的標(biāo)題,就是強(qiáng)調(diào)“零基礎(chǔ)”的。

不僅我這么認(rèn)為,美國有不少高校也這么認(rèn)為,紛紛用Python作為編程專業(yè)甚至是非編程專業(yè)的大學(xué)生入門語言。

最后的結(jié)論是:學(xué)習(xí)python,你不用擔(dān)心基礎(chǔ)問題。特別是看我的教程,我的目標(biāo)就是要跟你一起從零基礎(chǔ)開始,直到高手境界。

優(yōu)雅的Python

Python號稱是優(yōu)雅的。但是這種說法仁者見仁智者見智。比如經(jīng)常聽到大師們說“數(shù)學(xué)美”,是不是誰都能體驗(yàn)到呢?不見得吧。

所以,是不是優(yōu)雅,是不是簡單,是不是明確,只有“誰用誰知道”。

不過,我特別喜歡下面這句話:人生苦短,我用Python。意思就是說,python能夠提高開發(fā)效率,讓你短暫的人生能夠除了工作之外,還有更多的時(shí)間休息、娛樂或者別的什么。

或許有的人不相信,那么也只有“誰用誰知道了”。

跟別的語言比較

“如果你遇到的問題無法用Python解決,這個(gè)問題也不能用別的語言解決?!薄@是我向一些徘徊在Python之外的人常說的,是不是有點(diǎn)夸張了呢?

最近看到了一篇文章,《如果編程語言是女人》,我轉(zhuǎn)載如下(考慮到篇幅所限,所了適當(dāng)刪改,非刪減請通過連接查看原文):

PHP是你的豆蔻年華的心上人,她是情竇初開的你今年夏天傻乎乎的追求的目標(biāo)。玩一玩可以,但千萬不要投入過深,因?yàn)檫@個(gè)女孩有嚴(yán)重的問題。

Ruby是腳本家族中一個(gè)非常漂亮的孩子。第一眼看她,你的心魄就會被她的美麗攝走。她還很有有趣。起初她看起來有點(diǎn)慢,不怎么穩(wěn)定,但近些年來她已經(jīng)成熟了很多。

Python 是Ruby的一個(gè)更懂事的姐姐。她優(yōu)雅,新潮,成熟。她也許太過優(yōu)秀。很多小伙都會說“嘿,兄弟,你怎么可能不愛上Python呢!?”。沒錯,你喜歡Python。你把她當(dāng)成了一個(gè)脾氣和浪漫都退燒了的Ruby。

Java是一個(gè)事業(yè)成功的女人。很多在她手下干過的人都感覺她的能力跟她的地位并不般配,她更多的是通過技巧打動了中層管理人員。你也許會認(rèn)為她是很有智慧的人,你愿意跟隨她。但你要準(zhǔn)備好在數(shù)年里不斷的聽到“你用錯了接口,你遺漏了一個(gè)分號”這樣的責(zé)備。

C++ 是Java的表姐。她在很多地方跟Java類似,不同的是她成長于一個(gè)天真的年代,不認(rèn)為需要使用“保護(hù)措施”。當(dāng)然,“保護(hù)措施”是指自動內(nèi)存管理。你以為我指的是什么?

C 是C++的媽媽。對一些頭發(fā)花白的老程序員說起這個(gè)名稱,會讓他們眼睛一亮,產(chǎn)生無限回憶。

Objective C C語言家族的另外一個(gè)成員。她加入了一個(gè)奇怪的教會,不愿意和任何教會之外的人約會。

雖然是娛樂,或許有爭議,權(quán)當(dāng)參考吧。

The Zen of Python

這就是著名的《Python之禪》。

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than?right?now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!

感謝Guido van Rossum

Guido van Rossum 是值得所有pythoner感謝和尊重的,因?yàn)樗l(fā)明了這個(gè)優(yōu)雅的編程語言。他發(fā)明python的過程是那么讓人稱贊和驚嘆,顯示出牛人的風(fēng)采。

1989年的圣誕節(jié)期間,吉多·范羅蘇姆為了在阿姆斯特丹打發(fā)時(shí)間,決心開發(fā)一個(gè)新的腳本解釋程序,作為ABC語言的一種繼承。之所以選中Python作為程序的名字,是因?yàn)樗且粋€(gè)蒙提·派森的飛行馬戲團(tuán)的愛好者。ABC是由吉多參加設(shè)計(jì)的一種教學(xué)語言。就吉多本人看來,ABC這種語言非常優(yōu)美和強(qiáng)大,是專門為非專業(yè)程序員設(shè)計(jì)的。但是ABC語言并沒有成功,究其原因,吉多認(rèn)為是非開放造成的。吉多決心在Python中避免這一錯誤,并取得了非常好的效果,完美結(jié)合了C和其他一些語言。

這段故事的英文刊載在:https://www.python.org/doc/essays/foreword/

新版的設(shè)想

我寫《零基礎(chǔ)學(xué)python(第二版)》,是承接第一版的,并在第一版基礎(chǔ)上,做了較大量的修改,比如每個(gè)章節(jié)的標(biāo)題,現(xiàn)在改為更為直接的描述,而不是用那種文藝范寫了,因?yàn)檫@樣不僅更明確,而且還能用于以后備查。

此外,我會繼續(xù)原有的大家認(rèn)可的風(fēng)格,兼顧零基礎(chǔ)和后續(xù)的發(fā)展。特別是要在里面穿插如更多的項(xiàng)目例子。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號