1. 程式人生 > >python系列(一)python簡介、安裝與基本應用

python系列(一)python簡介、安裝與基本應用

注:本文為轉載,如有侵權請告知,將予以刪除

原連結:http://blog.51cto.com/zpf666/1920313

 

 

一、python簡介

1、python介於C語言與shell之間,於1989年由guido van Rossum(龜叔)開發,1991年誕生第一個編輯器。

2、python2.0系列版本只開發到了2.7版本,官方宣佈2020年將不再維護2.7,建議使用者遷移到3.4及3.4以上的版本

3、現在最新版本是python3.6.1

4、Linux預設自帶python2.7.5版本,如果想使用3.x版本則需要手動升級。

二、python的優點

1、簡單、易懂:Python的定位是“優雅”、“明確”、“簡單”

2、開發效率高:Python有非常強大的第三方庫

3、高階語言強大:無需考慮諸如如何管理你的程式使用的記憶體一類的底層細節

4、可移植性:支援window+Unix+Linux+Mac OS X

5、可擴充套件性:其他程式語言編寫的程式可插入到python使用

6、可嵌入型:可將python插入到其他程式語言中使用

三、python的缺點

1、程式碼不能加密:python是解釋性語言,它的原始碼都是以明文形式存放的

2、多執行緒支援不好

3、因為python是解釋性語言,在執行時需要直譯器解釋,所以相對C語言等直接和核心進行互動的語言執行較慢

四、python應用領域

1、資料分析

2、雲端計算:openstack

3、WEB開發:優秀的WEB框架(Django、flask、tornado)

4、科學運算、人工智慧:典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas

5、系統運維:slatstack(系統自動化配置和管理工具)

Ansible(自動化運維工具)

6、圖形開發:wxPython、PyQT、TKinter

五、使用python的主流公司以應用

1、Google公司:

主要產品:

GoogleGroups、Gmail、Google Maps、AlphaGo等

應用程式:

GoogleApp Engine

2、NASA :美國宇航局

3、Dropbox:美國最大的線上雲端儲存網站

4、豆瓣網

5、BitTorrent:bt下載軟體客戶端

6、gedit:Linux平臺的文字編輯器

7、GIMP:Linux平臺的影象處理軟體(Linux下的PS)

8、知乎(國外的Quora):社交問答網站,國內最大的問答社群

9、AutodeskMaya:3D建模軟體

10、YouTube:世界上最大的視訊網站

11、Facebook:大量的基礎庫均通過Python實現的

12、Redhat:世界上最流行的Linux發行版本中的yum包管理工具就是用python開發的。

除了上面的之外,還有搜狐、金山、騰訊、盛大、網易、百度、阿里、淘寶、土豆、新浪、果殼等公司都在使用Python完成各種各樣的任務。

六、python3.x系列的主要變化

1、print函式

2、Unicode字符集支援中文

3、除法運算

4、異常

5、xrange

6、八進位制字面量表示

7、不等於運算子

8、多個模組被改名(根據PEP8)

9、取消了exec語句,只剩下exec()函式。2.6和2.7版本相容exec()函式

10、資料型別

11、dict的.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函式都被廢棄。同時去掉的還有 dict.has_key(),用 in替代它。

七、python的安裝

1、Linux2.7版本:Linux上自帶python2.7.5版本,不用安裝

2、Linux3.6版本:

如果想在Linux上使用python3.6版本,則按照如下步驟安裝:

①安裝python3.6依賴包

wKioL1kCndGDQZvjAACKeOGggGQ623.jpg

②下載python3.6

wKiom1kCndLQOKnKAABk_fzE0ks531.jpg

③解壓縮並編譯安裝

wKioL1kCndKBdWqsAADVhGt1oQU749.jpg

說明:1)把Python3.6安裝到/usr/local 目錄

         2)使用make altinstall,如果使用make install,在系統中將會有兩個不同版本的Python在/usr/bin/目錄中。這將會導致很多問題,而且不好處理。

④python完畢後,各種檔案和目錄位置如下:

python3.6程式的執行檔案:/usr/local/bin/python3.6

python3.6應用程式目錄:/usr/local/lib/python3.6

pip3的執行檔案:/usr/local/bin/pip3.6

pyenv3的執行檔案:/usr/local/bin/pyenv-3.6

⑤更改/usr/bin/python連結

wKiom1kCndOSs8sUAAFpCjGXk8I874.jpg

⑥更改yum指令碼的python依賴

wKioL1kCndOiZWPAAADTArWAbm8946.jpg

更改以上所有的檔案頭:

#!/usr/bin/python改為 #!/usr/bin/python2

⑦修改gnome-tweak-tool配置檔案

wKiom1kCndPiHIB5AACr5crMU0Y922.jpg

把#!/usr/bin/python 改為 #!/usr/bin/python2

⑧修改urlgrabber配置檔案

wKioL1kCndTgRDqSAACIuv65NgA686.jpg

#!/usr/bin/python改為 #!/usr/bin/python2

⑨至此python3.6就安裝完畢,我們可以檢視下版本,確認一下

wKiom1kCndSTNPlwAACus6YwtHM464.jpg

上圖顯示是3.6.0版本,不再是預設的2.7.5版本,升級成功。

3、window2.7.13版本

wKioL1kCndSRSjmGAAI2OyoIAKI336.jpg

wKioL1kCndWyH57MAAIyVECIoMk903.jpg

wKiom1kCndbgESjUAAPxmp7chus877.jpg

wKioL1kCndeTp2g_AAKW_9VW1lQ469.jpg

wKiom1kCndnRtuUcAANZbJfjXdE330.jpg

wKiom1kCndnSAF-eAAFU31VO6m8174.jpg

出現上述頁面說明python2.7安裝成功,現在我們去命令管理器去看一下支不支援python,如果不支援在計算機裡新增python安裝路徑。

wKioL1kCndrQpVwmAAJQNdQ5B1U346.jpg

即出現如下的頁面表示cmd不支援python,如下圖所示:

wKioL1kCndrTj94lAAEPEHAD8V8385.jpg

解決辦法如下:

wKiom1kCnduT22dgAAGBxy0OoaE858.jpg

wKioL1kCnduy8p60AAFtM3q-JE4819.jpg

wKiom1kCndvROChgAAHw9q0RGAA928.jpg

wKioL1kCnd2irxLzAAIVngAAsNE774.jpg

wKiom1kCnd2jc5BOAACfOXc05Vw615.jpg

在上圖中的路徑最後加上python的絕對路徑,即加上

;C:\Python27即可,注意前面有個分號。然後再去cmd裡面輸入python就好了。

4、window3.6.0版本

wKioL1kCnd2yHRekAAI04O7g4y8540.jpg

wKiom1kCnd7DVEb-AAGHJRcS28o166.jpg

wKioL1kCnd-QgHoMAANx8qSXhzk619.jpg

wKiom1kCneDwIw0nAAFdOkUVpgk823.jpg

至此windows和linux的幾個版本的安裝到此就結束了。

八、基礎語句

特此申明一下:以下圖片,凡是

黑底白字的是python2.7版本的截圖;

白底黑字的是python3.6版本的截圖。

兩者用的都是Windows版本。

1、輸出

①單字串輸出

print(“需要輸出的內容”)

或者

print(‘需要輸出的內容’)

即使用單引號或者雙引號都可以

wKiom1kCneCyUmLiAAFuNoUH0DM975.jpg

wKioL1kCneHieIj_AAKN90bHpaY850.jpg

從上面兩張圖片可以看出,python3.6不支援不帶括號的輸出,而python2.7則支援全部四張方式。

②多字串輸出

wKioL1kCneHiqdQ5AAB27jS_MQg059.jpg

wKiom1kCneHxQKnDAAB-PIX882M176.jpg

從上面兩張圖片都可以看出,兩個版本可以同時輸出多個字串,中間用逗號隔開,這樣結果就可以連城一串輸出,但是不能的是,python2.7版本,必須不能帶小括號,而python3.6則必須帶括號。

③數值輸出

wKioL1kCneLAbmCrAAEHAxBm0-k475.jpg

wKiom1kCneKQ4on2AAFCeKLQjtk520.jpg

在數值輸出方面,兩個版本都是一樣的。對於上面最後一個輸出的解釋是:對於%(100 + 200=),Python直譯器自動計算出結果300,但是,“100 + 200=%d”是字串而非數學公式,Python把它視為字串,請自行解釋上述列印結果。

2、輸入

變數名=raw_input(“提示或說明”)

變數名=input(“提示或說明”)

wKiom1kCneOiHZkYAAD0-2pAajA734.jpg

wKiom1kCnf7ivkYrAAEsqUs2fJk060.jpg

說明:函式input()或者raw_input()會讓程式暫停執行,等待客戶通過提示或說明來輸入一些內容,當用戶輸入完內容後,python會將使用者輸入的內容賦值給變數(本例中是變數name,即把使用者輸入的dabiaoge賦值給了變數name)

注意:SublimeText編輯器不能執行提示使用者輸入的程式,但是可以使用該軟體來編寫提示yonghu輸入的程式,然後必須通過終端在執行程式。

3、檢視變數型別

說明:變數不僅可以為整數或浮點數,還可以是字串

type(變數名)

wKioL1kCnf_w6REHAAK9CnQhoYs698.jpg

變數型別如下

str:字串

bool:布林型(注:布林型變數的值只有true真和false假)

NoneType:空值(None是一個特殊常量,None不是0,也不是字串,None的型別是NoneType,None可以賦予給任何的變數)

Int:整數型別

float:浮點數(通俗的說就是帶小數點的數)

4、長整數

wKiom1kCnf_SKJ5MAAB0aJRO6RA066.jpg

wKioL1kCnf_AfkLMAACA0ScW-3g447.jpg

說明:pyhton2.7版本在長整數結果後面會有一個“L“,而在python3.6版本則去掉了這個”L“。

5、插入TAB鍵(\t)和插入換行(\n)

wKiom1kCngDBoyR_AABxyLvK6q4634.jpg

wKiom1kCngCgotCiAABuycmPoP8008.jpg

兩個版本都一樣。

:一個TAB鍵等於8個空格。

6、不轉義print輸出的內容

print(r”\taa\nbb”)

wKioL1kCngHikODjAAC4X7BO-z8449.jpg

wKiom1kCngGwApsWAADIRV52TtU297.jpg

兩個版本都一樣。

7、一次顯示多行

wKioL1kCngHj_YWKAAD0FQSkTO0142.jpg

等同於如下格式:

wKiom1kCngLQTISrAADkgYXdSWI911.jpg

但是建議使用print(’’’xxx

xxx

xxx’’’)

這種格式。

8、在print使用引用功能:引用整數

wKioL1kCngKRRv_6AACyB_z0j10183.jpg

解釋:%引用,d整數;%d引用一個整數,然後%(整數值)就是設定這個整數。

9、運算子

加:+   減:-   乘:*   除:/  取餘:%

wKioL1kCngORTrz5AADHXviwMvE131.jpg

wKiom1kCngPxuoRbAADboNYie3Q983.jpg

從上面兩個圖片可以看出,在加減乘方面都是一樣的,但是在除法方面,python2.7版本,除法運算的結果只去商,捨棄了餘數,並且商是整數;而python3.6版本,除法運算的結果,則完全顯示了正確的結果,該有小數的會顯示小數,即使沒有餘數,商數整數,也會以浮點數的方式顯示。這是2系列版本和3系列版本的明顯的區別。

此外還有一種除法叫地板除:

wKiom1kCngPhuLuyAABaL0G2As4222.jpg

wKioL1kCngTi6VONAACfjujtfe8835.jpg

2.7版本正常的除法和地板除沒區別,而3.6版本則有區別,3.6版本的地板除,則顯示商的結果,舍掉了餘數。

10、檢視系統關鍵字

wKiom1kCnjDheffjAAD033V6Pi0481.jpg

 

變數命名規則如下:

  • 變數名只能包括字母、數字和下劃線。

  • 變數名可以使用字母或者下劃線開頭,但不能以數字開頭。

  • 變數名不能包含空格,但可以使用下劃線來分隔其中的單詞。

  • 不能使用關鍵字作為變數名(即用上面的查詢方法可以查詢到哪個是關鍵字,變數命名要避免使用關鍵字)

  • 不要使用函式名作為變數名

  • 變數名應該即簡短又具有描述性

  • 慎用小寫字母i和大寫字母O,應該易被當做數字1和0

  • 建議不要使用大寫字母,雖然可以用,但是大寫字母不易識別