1.Python簡介php
1.1 Python是什麼前端
相信混跡IT界的不少朋友都知道,Python是近年來最火的一個熱點,沒有之一。從性質上來說它和咱們熟知的C、java、php等沒有什麼本質的區別,也是一種開發語言,並且已經進階到主流的二十多種開發語言的top 5(數據源自最新的TIOBE排行榜)。java
1.2 Python的由來和發展趨勢python
Python的前世源自鼻祖「龜叔」。1989年,吉多·範羅蘇姆(Guido van Rossum)在阿姆斯特丹爲了打發無聊的聖誕節,決心開發一個新的腳本解釋程序,自此Python和創始人「龜叔」開始進入公衆視野。他但願這個新的叫作Python的語言,能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言。web
1991年,第一個Python編譯器誕生。它基於C語言實現,並可以調用C語言的庫文件。後面歷經版本的不斷換代革新,Python走到了很是具備里程碑意義的一個節點,即2004的2.4版本誕生了目前最流行的WEB框架Django!六年後Python發展到2.7版本,這是目前爲止2.x版本中最新且較爲普遍使用版本。shell
2.7版本的誕生不一樣於以往2.x版本的垂直換代邏輯,它是2.x版本和3.x版本之間過渡的一個橋樑,以便最大程度上繼承3.x版本的新特性,同時儘可能保持對2.x的兼容性。數據庫
所以3.x版本在2.7版本以前就已經問世,從2008年的3.0版本開始,python3.x系呈迅猛發展之勢,版本更新活躍,一直髮展到如今最新的3.5.2版本。3.5版本也是目前3.x系列中主流且普遍使用的版本,後續相關程序的demo,默認均基於3.5版本展開。編程
1.3 Python 2 VS Python 3後端
許多初學者會糾結於從2.x版本仍是3.x版本開始python學習之路。這裏簡要對比下我的學習瞭解到的二者的差別:python3.x
3.x版本中 PRINT IS A FUNCTION,使用起來更簡單方便;
3.x版本中默認使用unicode編碼,媽媽不再用擔憂你的程序編碼問題了;
3.x版本中某些庫進行了更名,具體還有待在後續學習中深刻展開;
目前3.x版本還不能徹底支持Twisted module,這恐怕是3.x版本中最大的遺憾。也不要過於糾結這點,聽說官方正在彌補這個不足,同時也相信能有辦法解決的:)
In summary : Python 2.x is legacy, Python 3.x is the present and future of the language. 長江後浪推前浪,python的將來是屬於3.x系列的,官方宣佈2020年以後再也不支持2.x系列中最nb的2.7版本,2.x版本將逐漸壽終正寢,最終被銘刻在開發語言的豐碑上。
因此學習3.x版本沒錯的!
1.4 Python的優缺點
二十多種主流開發語言,python何以能在20多年間以如此迅猛之勢橫掃七大洲八大洋呢?這都是它自身優良的特性決定的.
Python優勢:
1.「優雅」、「明確」、「簡單」
這是python的定位,使得python程序看上去簡單易懂,初學者容易入門,學習成本更低。但隨着學習的不但深刻,python同樣能夠知足勝任複雜場景的開發需求。引用一個說法,Python的哲學是就是簡單優雅,儘可能寫容易看明白的代碼,儘可能寫少的代碼。
2. 開發效率高
python做爲一種高級語言,具備豐富的第三方庫,官方庫中也有相應的功能模塊支持,覆蓋了網絡、文件、GUI、數據庫、文本等大量內容。所以開發者無需事必躬親,遇到主流的功能需求時能夠直接調用,在基礎庫的基礎上施展拳腳,能夠節省你不少功力和時間成本,大大下降開發週期。
3. 無需關注底層細節
Python做爲一種高級開發語言,在編程時無需關注底層細節(如內存管理等)。
4. 功能強大
Python是一種前端後端通吃的綜合性語言,功能強大,php能勝任的角色它都能作,至於後端如何勝任,須要在後續學習中逐步領悟。
5. 可移植性
Python能夠在多種主流的平臺上運行,開發程序時只要繞開對系統平臺的依賴性,則能夠在無需修改的前提下運行在多種系統平臺上,具體有待後續學習中深刻展開。其餘優勢有待繼續發掘。
一個硬幣總有兩面,那麼Python有缺點嗎?答案是確定的,總結以下:
Python缺點:
1. 代碼運行速度慢
由於Python是一種高級開發語言,不像c語言同樣能夠深刻底層硬件最大程度上挖掘榨取硬件的性能,所以它的運行速度要遠遠慢於c語言。另一個緣由是,Python是解釋型語言,你的代碼在執行時會一行一行地翻譯成CPU能理解的機器碼,這個翻譯過程很是耗時,因此很慢。而C程序是運行前直接編譯成CPU能執行的機器碼,因此很是快。
但須要注意的是,這種慢對於不須要追求硬件高性能的應用場合來說根本不是問題,由於它們比較的數量級根本不是用戶能直觀感覺到的!想一想程序執行所需的時間數量級?例如開發一個下載MP3的網絡應用程序,C程序的運行時間須要0.001秒,而Python程序的運行時間須要0.1秒,慢了100倍,但因爲網絡更慢,須要等待1秒,用戶體驗幾乎沒有差異,除非你用很是精確的計時器來計時。
2. 發佈程序時必須公開源代碼
什麼?有沒有搞錯?是的,發佈程序時咱們必須公開源代碼!仍是由於Python是一種解釋性語言,沒有編譯打包的過程(聽說最新的python能夠打包,但本質上仍是把源代碼和解釋器打在一塊兒,沒有太大實際意義)。想一想咱們的shell腳本是否是也是這個狀況,你能在不發佈源代碼的狀況下發佈一個黑盒子程序來讓別人正常使用麼?
這個缺點僅限於你想單純靠賣開發出來的軟件產品掙錢的時候。但在這個開發互聯的時代,不靠賣產品自己來賺錢的商業模式愈來愈主流了,因此問題也不是無法解決。
總結起來,Python的優勢多於缺點,並且缺點在多數它能勝任的狀況下不是根本性問題,瑕不掩瑜,盡情享受它給咱們帶來的樂趣和便利吧!
1.5 Python的適用領域
Python典型的適用領域以下:
1. 雲計算開發
雲計算領域最火的語言,典型表明openstack。
2. web開發
衆多優秀的web框架,衆多優秀的大型web站點(Youtube,instagrm,豆瓣等)均基於python開發。
3. 系統運維
各類自動化工具的開發,CMDB、監控告警系統、堡壘機、配置管理&批量分發工具等都可以搞定。這是本身須要重點學習的領域。
4. 科學計算、人工智能
據網上了解用於圍棋大戰的谷歌阿發狗就使用了python開發(但估計只是部分而已)。
5. 圖形GUI處理
暫時沒多少體會,後續領悟吧。
6. 網絡爬蟲
不知道給網絡爬蟲單獨歸類是否合適,姑且這樣吧。這年頭網絡爬蟲無處不在,不少都是基於python開發,包括谷歌的爬蟲。估計這是爬蟲工程師的必備工具吧。
1.6 哪些地方在用Python
來幾個鮮活的知名公司應用案例,以示敬意:
谷歌:Google app engine、google earth、爬蟲、廣告等
Youtube: 世界最大的在線視頻網站基於python開發,好強大
Instagram:美國最大的圖片分享網站,所有基於python開發
facebook:大量的基礎庫基於python開發
Redhat:yum包管理工具基於python開發
國內知名互聯網公司的應用:豆瓣、知乎的網站,還有不少主流的互聯網公司(阿里、騰訊、百度、金山、搜狐、盛大、網易、新浪、網易、果殼、土豆等)經過python來完成各類任務
二.Python的安裝
Python-3.7.0(32/64)位下載地址:
pan.baidu.com/s/1Ub89cbTjDm3GJg4ce2NKdQ
提取碼:w614
被班上一個大佬安利後,發現了一個很實用的公衆號,裏面有幾乎全部軟件的詳細下載方法,名字是軟件安裝管家,能夠推薦你們關注一下,這個下載方法就是我搬運過來的,你們下載時候要注意本身電腦位數,不要下錯了
2.雙擊打開【python-3.7.0】文件夾。
3.在桌面鼠標右擊個人電腦選擇屬性查看本身的電腦位數,64位系統選中【python-3.7.0.amd64】(32位系統就選擇上面的)而後鼠標右擊選擇【以管理員身份運行】。
4.勾選【Add Python 3.7 to PATH】,而後點擊【Customize installation】。
5.點擊【Next】。
6.點擊【Browse】更改軟件的安裝目錄,建議在D盤或其餘磁盤新建一個【Python37】文件夾,點擊【Install】。
7.安裝中。
8.安裝完成,點擊【Close】。
9.在開始菜單欄找到並打開【IDLE (Python 3.7 64-bit)】。
10.安裝完成。
第一次寫博客啊,沒經驗,本身瞎琢磨,若是你已經看到這裏,那你確定是個頗有思想的人,若是能夠,但願能給我點個贊,,關係到咱們平時成績考覈滴,謝謝啦