為什么要學(xué)習(xí)Python編程
大家好,隨著大數(shù)據(jù)時代的到來,相信大家對新時代的認(rèn)知達(dá)到了一個新的高度,我們可以仔細(xì)觀察我們的生活,似乎每一年都會發(fā)生較大的變化。我記得我剛上大學(xué)的時候,移動支付才剛開始普及,短短幾年,出門只需要一部手機便能行走天下,其中計算機編程起到了重要作用。
我們?yōu)槭裁匆獙W(xué)習(xí)編程?
1.軟件改變生活。支付寶、微信、淘寶等手機App為衣食住行全方位服務(wù)。

2.不是每個專業(yè)都會學(xué)到編程,不是每個學(xué)校都會教編程,但學(xué)習(xí)編程是順應(yīng)時代潮流。
3.科學(xué)研究范式的轉(zhuǎn)變。科學(xué)研究范式經(jīng)歷了四個階段的發(fā)展——實驗范式、理論范式、仿真范式和大數(shù)據(jù)范式。實驗范式是以伽利略為代表的科學(xué)發(fā)展初級階段;理論范式是以數(shù)學(xué)表述和推演的理論模型為依據(jù),通過精心設(shè)計的實驗進(jìn)行驗證;仿真范式是利用計算機對實驗進(jìn)行模擬仿真,先提出可能的理論,再搜集數(shù)據(jù),最后通過計算機仿真進(jìn)行理論驗證;大數(shù)據(jù)范式由圖靈獎得主James Gray提出,從大數(shù)據(jù)挖掘中獲取科學(xué)新知,與人工智能協(xié)同工作。
4.可培養(yǎng)學(xué)生的計算思維。具備大數(shù)據(jù)處理的基本能力,了解人工智能的基本原理,學(xué)會運用計算機解決問題。
5.通過計算機編程,可指揮計算機做人類想做的事。

高級語言
發(fā)布年份 | 高級語言 | 主要用途 |
1957 | FORTRAN | 科學(xué)計算 |
1959 | COBOL | 商業(yè)領(lǐng)域 |
1964 | BASIC | 編程普及 |
1972 | C語言 | 操作系統(tǒng)底層 |
1991 | Python | 面向?qū)ο?動態(tài)/跨平臺 |
1995 | Java | 面向?qū)ο?跨平臺 |
1995 | PHP | Web動態(tài)頁面 |
2009 | Go | 高并發(fā)和工程化軟件 |
2014 | Swift | 蘋果軟件開發(fā) |
為什么學(xué)習(xí)Python?
1.十大最流行的計算機語言之一。
2.語法簡潔,極大地提高了生產(chǎn)力。
3.跨平臺,代碼可讀性高。
4.軟件開源,可被自由傳播和分享。
5,低門檻,學(xué)習(xí)曲線平緩。
6.高天花板,上升空間大。
7.語法簡潔,特殊符號少。
8.強制對齊和縮進(jìn),保證代碼基本整潔度。
9.對初學(xué)者友好,極大提升編程效率。
Python的優(yōu)點
1.繼承了多種優(yōu)秀語言的特性。
2.是一種高級動態(tài)、完全面向?qū)ο蟮恼Z言。
3.函數(shù)、模塊、數(shù)字、字符串都是對象。
4.并且完全支持繼承、重載、派生、多繼承。
5.有益于增強源代碼的復(fù)用性。
6.接近自然語言,描述能力強。
7.抽象層次高,無需過多關(guān)心硬件體系結(jié)構(gòu)。
8.但足夠描述數(shù)據(jù)結(jié)構(gòu)實現(xiàn)細(xì)節(jié)。
9.動態(tài)類型特性減少算法實現(xiàn)中的冗長類型處理。
10.函數(shù)式編程特性反映了新型計算架構(gòu)和數(shù)據(jù)處理方法。
Python的應(yīng)用領(lǐng)域
1.大型網(wǎng)站:YouTube、Google、豆瓣、果殼網(wǎng)、NASA。
2.圖像多媒體:GIMP、Blender、Industrial Light&Magic。
3.系統(tǒng)文件:Dropbox、BitTorrent。
4.科學(xué)計算/大數(shù)據(jù):MySQL Workbench、numpy、pandas。
5.人工智能:tensorflow。
Python的成長歷程
版本1.x:支持異常處理、函數(shù)定義,開發(fā)了核心數(shù)據(jù)結(jié)構(gòu)。
版本2.x:支持列表解析、垃圾收集器和Unicode編碼。
版本3.x:不向后兼容2.x,掃除了編程結(jié)構(gòu)和模塊上 的冗余和重復(fù)。
Python的現(xiàn)狀
1.TIOBE編程社區(qū)排行榜

2.IEEE Spectrum排行榜

聽說Python很慢?
Instagram說
1.Instagram的最大瓶頸在于開發(fā)效率,而不是代碼的執(zhí)行效率
2.你完全可以使用 Python 語言來實現(xiàn)一個超過幾十億用戶使用 的產(chǎn)品,而根本不用擔(dān)心語言或框架本身的性能瓶頸。
可是為什么會慢?
1.動態(tài)類型 vs 靜態(tài)類型
2.解釋執(zhí)行 vs 編譯執(zhí)行
3.獨特的對象模型對內(nèi)存訪問效率低
可以用來做數(shù)值計算這種要求性能的事情么?
1.完全可以,Python的許多數(shù)值計算庫,底層是C實現(xiàn)的
Python程序的主要特征
1.Python語言程序是分行的,每行做一件事情,稱作“語句”,從上到下順做。
2.語句的行與行之間必須左對齊。
3.有些語句(如if,else,while)的末尾是冒號“:”,這樣,下面的若干行就都要縮進(jìn)4個空格,而且這些縮進(jìn)的語句也必須左對齊。
4.符號“#”后面跟的內(nèi)容是程序里的備注或注釋,對語句沒有影響。

《數(shù)據(jù)科學(xué)與人工智能》公眾號推薦朋友們學(xué)習(xí)和使用Python語言,需要加入Python語言群的,請掃碼加我個人微信,備注【姓名-Python群】,我誠邀你入群,大家學(xué)習(xí)和分享。
關(guān)于Python語言,有任何問題或者想法,請留言或者加群討論。
