AI 學習之路——輕鬆初探 Python 篇(一)

喜歡小之的文章的能夠關注公衆號「WeaponZhi」持續關注動態 python

這是「AI 學習之路」的第 1 篇,「Python 學習」的第 1 篇程序員

前言

1. Python 篇的組織結構

不論是學習人工智能仍是大數據,Python 都是基本必學的,並且若是你們本身有必定的語言基礎,會發現 Python 是很是好入門的,我本身大概花了 1 個下午入門了一下基本的語法。算法

我會花 3 到 4 篇的篇幅給你們做一下基本的入門。固然,這不是說咱們學習人工智能或者大數據,對 Python 的瞭解程度到這麼多就夠了,也不是說我在整我的工智能系列的寫做過程當中,只會寫這幾篇 Python 的文章。相反,我十分重視 Python 語言自己的學習,我也會分享不少 Python 相關的原創。網絡

對 Python 掌握的越熟練,必然會對後面學習人工智能或者大數據這樣的熱門技術越有幫助,不只如此,工做中的不少場景,Python 均可以很好的解決,極大的提高咱們的工做效率,即便我工做中的主語言並非 Python。你們學習 Python 的過程當中,必定會對此有所感覺的。異步

因此,Python 的文章會和別的文章有所穿插,今天我發佈一篇算法相關的,明天可能就推一篇 Python 的了,個人承諾就是,全部文章都會劃分好類別,而且有連貫性,即便比較晚關注的讀者,也能夠按部就班的進行學習。編輯器

2. 如何自主學習 Python

如今的網絡資源很豐富,Python 的資料更是層出不窮。想入門 Python 的話,這裏推薦給你們兩個渠道:學習

第一個就是推薦你們去看一下**「廖雪峯的 Python 教程」**,強烈推薦,我就是一個下午看的他的教程進行學習的。大數據

第二個是**「Codecademy」**這個網站,這個網站上面有不少語言的入門教程,它是一種引導式的教學方式,不只有文檔,並且能夠在線的進行編譯和運行,能夠說是手把手了,質量很高。不過有一點尷尬的是,可能大部分的教程是英文,不過好在教程自己不復雜,摳一摳仍是能看懂的,它的界面是這樣的: 網站

固然啦,經過看個人文章來入門也是徹底能夠的。人工智能

仍是那句話,Python 確定不是說入了門就夠了,深度的研究你們能夠多買書,看看博客,多寫寫。固然,我也會做 Python 中高級技術的分享的。最重要的是堅持,可能不少人都和我差很少,工做或者學習的主力語言並非 Python,須要在業餘時間來學習,這很考驗一我的的意志力,想作的突出,就得忍受寂寞。

不要緊,至少還有我和你一塊兒擼碼。

Python 簡介

1. Python 的優點

Python 是一種很是高級的語言,實現一樣的邏輯,C 語言和 Java 可能要用比 Python 多數倍甚至幾十倍的代碼才能完成。Python 簡單優雅,儘可能寫容易看明白的代碼,儘可能寫少的代碼。

咱們能夠類比 Java 和 C 語言的這種差別。C 語言,在構建實體對象的時候,須要用代碼手動的去在內存開闢空間,而後把開闢好的這段空間賦予某個對象使用,使用完了,還得手動去把這部分空間給釋放掉,好處是對內存或者是一些硬件的把控力很強,並且強制要求程序員去嚴格的監管這些資源的使用,但不用多說,這樣太麻煩了,我爲了寫一個業務邏輯,居然要寫這麼多和業務無關的代碼。

而 Java 就省事多了,JVM 的垃圾回收機制都幫你作好了這些事,它會經過諸如可達性算法這樣的方式,自動的標記出哪些內存空間是可回收的,而後在你代碼沒有任何體現的狀況下進行內存的回收。固然,缺點也顯而易見,你根本不知道垃圾回收機制到底幹了什麼,它的拓展性和可控性就不是那麼出色了,若是你須要特別的關注回收上的事,會發現特別麻煩和不可控。

Python 相比 Java,固然也少操心了不少事,好比異步上的事,Java 處理起來就麻煩多了。Python 由於提供了很是完善的基礎代碼庫,輪子很是完備,因此幾乎能夠覆蓋你能想到的應用範圍。

值得一提的是,Python 近年來發展迅猛,人工智能、大數據等最前沿熱門的技術,Python 都能很好的支持和應用。GitHub 2017 年發佈的開發語言活躍度排名上,Python 第一次超過了 Java,躍升到第二名,僅次於 JS。

2. Python 的劣勢

有得有失,Python 也不是完美的。廖大總結的挺好,我簡單的概述下。

首先 Python 的運行速度是比較慢的,由於 Python 是一種解釋型語言,Python 代碼在運行的時候,會一行一行的把代碼翻譯成計算機能夠理解的機器碼,能夠想像這個過程是很慢的。而 C 語言在運行以前就已經把代碼編譯成機器碼了,執行過程就會特別快。

但實際上這個速度差距,並非不能夠接受的,廖大大也在他文中作了一個頗有意思的比喻,這裏引用下,你們自行體會這種速度差距的影響:

大量的應用程序不須要這麼快的運行速度,由於用戶根本感受不出來。例如開發一個下載MP3的網絡應用程序,C 程序的運行時間須要 0.001 秒,而Python程序的運行時間須要 0.1 秒,慢了 100 倍,但因爲網絡更慢,須要等待1秒,你想,用戶能感受到 1.001 秒和 1.1 秒的區別嗎?這就比如 F1 賽車和普通的出租車在北京三環路上行駛的道理同樣,雖然 F1 賽車理論時速高達 400 千米,但因爲三環路堵車的時速只有 20 千米,所以,做爲乘客,你感受的時速永遠是 20 千米。

還有一個缺點,就是 Python 是不能加密的,若是你的應用是 Python 寫的,當你發佈的時候,等於說就是公開了本身的源代碼。不過在互聯網時代,靠賣軟件來生存的商業模式愈來愈少了,更多的是靠服務和網站,不只如此,在這個提倡開源精神的時代,源代碼開源自己並非很可怕,也不要過度高估本身代碼的價值。

Python 運行須要一個編輯器來將 Python 代碼轉化爲特定的操做系統可理解的代碼。它不像 Java,任何能夠運行 Java 虛擬機的設備均可以運行 Java 的應用。

安裝 Python

OK,說十句話不如作一件事,那咱們如今就行動起來開始安裝 Python 吧。

Python 3.x 和 2.x 是不兼容的,咱們做爲初學者,天然就不用考慮一些歷史因素了,直接上 3.x。這裏我就不花費篇幅去展開介紹安裝過程了,網上不少教程,須要注意的主要是 Windows 小夥伴們必定要記得配置好環境變量。

Python 文件是須要解釋器去執行的。安裝好 Python 後,咱們實際上就已經得到了一個官方的解釋器:CPython,它是使用最普遍的 Python 解釋器。還有不少其餘的解釋器。好比 PyPy,它相比 CPython 提高了速度;Jython 和 IronPython 則是在其餘平臺上的解釋器,能夠把 Python 代碼編譯成 Java 或者 .Net 字節碼。

一切準備就緒,在 Windows 控制檯中輸入 python 並回車,或者在 Mac 和 Linux 的終端中輸入 python3 若是出現這個界面,說明你安裝成功了!

按照慣例,咱們是否是得 Hello, world 一下? 在 >>> 後輸入代碼吧!

>>> print ('hello, world')
hello, world
複製代碼

歡迎關注個人公衆號

寫在開篇第一天,我想和你作朋友

相關文章
相關標籤/搜索