零基礎自學Python知識:安裝Python、解釋器、代碼風格等

Python是一種面向對象、解釋型計算機程序設計語言。語法簡潔清晰,強制用空白符作爲語句縮進。 Python具有豐富和強大的庫,又被稱爲膠水語言。能把其他語言(主要C/C++)寫的模塊很輕鬆的結合在一起。

1.1 介紹

   1.1.1 特點

   Python是一種面向對象、解釋型計算機程序設計語言。語法簡潔清晰,強制用空白符作爲語句縮進。

  Python具有豐富和強大的庫,又被稱爲膠水語言。能把其他語言(主要C/C++)寫的模塊很輕鬆的結合在一起。

   1.1.2 應用領域

        Web網站:有很多優秀的開源Web框架,比如Django(最流行)、Tornado(輕量級、異步)、Flask(微型)、Web.py(簡單)等。

     數據採集:有好用的http庫,比如urllib2、requests等。還有高級的屏幕爬取及網頁採集框架scrapy。並對網頁解析也有很多庫,比如lxml、xpath、BeautifulSoup等。   

     大數據分析:常用模塊有Numpy、Pandas。並支持寫MapReduce、PySpark處理Spark RDD(彈性分佈式數據集)。

     運維自動化:編寫腳本、Web平臺,自動化日常工作。

     科學計算:在科學計算也應用越來越廣泛,常用的模塊有Numpy、SciPy。

     等等...可見Python是一門通用語言!

1.1.3 爲什麼選擇Python?

     運維的目的呢,主要還是學習Python用來實現運維自動化了。大多數人除了shell腳本外有其他語言基礎的應該佔少數。

     我們以Python作爲第一門語言是很好的選擇。爲什麼呢?

  1) 語法簡潔,易於學習。

  2) 廣泛的標準庫,適合快速開發,不就追求極快處理速度。

  3) 跨平臺,基本所有的所有的操作系統都能運行。

  4) 運維領域Python最流行。

1.2 安裝Python

ps:推薦一下我建的python零基礎系統學習交流扣扣qun:前面是937,中間667,後面是509,羣裏有免費的視頻教程,開發工具、電子書籍分享。專業的老師答疑!學習python web、python爬蟲、數據分析、大數據,人工智能等技術有不懂的可以加入一起交流學習,一起進步!

1.3 解釋器

     1.3.1 Python解釋器幾種實現版本

         1) CPython     

              當我們裝完Python後,其默認解釋就是CPython,也是官方默認解釋器。CPython是C語言寫的,當執行代碼時會將代碼轉化成字節碼(ByteCode)。

         2) IPython

              基於CPython之上的一個交互式解釋器,相當於默認解釋器的一個增強版,最顯著的功能就是自動補全,挺好用的。

         3) PyPy

              PyPy本身是由Python編寫的,使用了JIT編譯器(即時編譯器)技術,當執行代碼時JIT編譯器將代碼翻譯成機器碼。性能相比CPython要好。JAVA也採用了JIT編譯器。

         4) Jython

              Jython是由JAVA編寫的一個解釋器,可以把JAVA模塊加載到Python的模塊中使用,也可以把Python代碼打包成JAR包,意味着允許用Python寫JAVA程序了。當執行代碼時會將代碼轉化成JAVA字節碼,然後使用JRE執行。

         5) IronPython

              在.NET平臺上工作的Python語言。

     

1.3.2 Python代碼執行過程

         大致流程:源代碼編譯成字節碼(.pyc文件)--> Python虛擬機 --> 執行編譯好的字節碼 --> Python虛擬機將字節碼翻譯成對應的機器指令(機器碼)

         運行Python程序時,先編譯成字節碼並保存到內存中,當程序運行結束後,Python解釋器將內存中字節碼對象寫到.pyc文件中。

         第二次再運行此程序時,先回從硬盤中尋找.pyc文件,如果找到,則直接載入,否則就重複上面的過程。

         這樣好處是,不重複編譯,提供執行效率。

         1) 字節碼

              字節碼是一種包含執行程序、由一序列op代碼/數據對組成的二進制文件。字節碼是一種中間碼,比機器碼更抽象。

         2) 機器碼

              機器碼是一種指令集,讓CPU可直接解讀的數據。也稱爲原生碼。

 

1.4 代碼風格

     1.4.1 代碼風格有毛用?

    

個人覺得有以下幾個作用:

     

1) 團隊協作     

   

在企業中,一個團隊開發一個項目很正常不過了,剛入職是不是會先讓你熟悉本公司的編碼規範文檔呢,作爲純開發來說,我相信大多數公司都會這麼做,其中目的是讓團隊中的每個成員,寫代碼時能夠統一,避免項目中出現幾個編碼風格版本,不利用後期維護和交接。

   

 2) 有利於解決問題

     

草泥馬,又出問題了,代碼運行不起來了,怎麼辦?百度、谷歌無解...是時候求助大神了,來看看我的代碼吧!大神一看,琢磨了一會,你想多了,不是再想你的問題,而是在梳理你的代碼實現的功能和邏輯關係。結果發現,多了括號。擦,我怎麼就沒看到呢!~

     3) 未雨綢繆

     

功能終於實現了,發佈到線上運行也挺正常,過了半年後,突然跑不起來了,趕緊排查問題,代碼看着看着自己就懵逼了,這還是自己寫的代碼嘛,長的這麼不像我,是親生的嘛!

    

 小結:只要人人都獻出一點愛,世界將會變成美好的人間。

 

     1.4.2 編寫代碼怎麼能更規範化?

   

 1) 縮進

    Python以空白符作爲語句縮進,意味着語句沒有結尾符,給往往因爲少寫個fi的人帶來了福利,在Python中最好以4個空格作爲縮進符。

   

2) 代碼註釋

    

據說優質的代碼,註釋說明要比代碼量多,詳細的代碼說明不管對自己後期維護還是開源,都是有必要的。就像一個流行的軟件,如果沒有豐富的使用文檔,你認爲會有多少耐心的人去花大把的時間研究它呢!

   

3) 空格使用

 

 在操作符兩邊,以及逗號後面,加1個空格。但是在括號左右不加空格。

  在函數、類、以及某些功能代碼塊,空出一行,來分隔它們。

    

4) 命名

  模塊:自己寫的模塊,文件名全部小寫,長名字單詞以下劃線分隔。

  類:大/小駝峯命名。我一般採用大駝峯命名,也就是每個單詞首字母大寫。類中私有屬性、私有方法,以雙下劃線作爲前綴。

  函數:首單詞小寫,其餘首字母大寫。

  變量:都小寫,單詞以下劃線分隔。

  提醒:所有的命名必須能簡要說明此代碼意義。

 

   5) 代碼換行

    按照語法規則去換行,比如一個很長的表達式,可以在其中某個小表達式兩邊進行換行,而不是將小表達式拆分,這樣更容易閱讀。

 

1.5 交互式解釋器

    直接執行Python命令就啓動默認的CPython解釋器:

 

1.6 運算操作符 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章