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依賴包
②下載python3.6
③解壓縮並編譯安裝
說明: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連結
⑥更改yum指令碼的python依賴
更改以上所有的檔案頭:
#!/usr/bin/python改為 #!/usr/bin/python2
⑦修改gnome-tweak-tool配置檔案
把#!/usr/bin/python 改為 #!/usr/bin/python2
⑧修改urlgrabber配置檔案
#!/usr/bin/python改為 #!/usr/bin/python2
⑨至此python3.6就安裝完畢,我們可以檢視下版本,確認一下
上圖顯示是3.6.0版本,不再是預設的2.7.5版本,升級成功。
3、window2.7.13版本
出現上述頁面說明python2.7安裝成功,現在我們去命令管理器去看一下支不支援python,如果不支援在計算機裡新增python安裝路徑。
即出現如下的頁面表示cmd不支援python,如下圖所示:
解決辦法如下:
在上圖中的路徑最後加上python的絕對路徑,即加上
;C:\Python27即可,注意前面有個分號。然後再去cmd裡面輸入python就好了。
4、window3.6.0版本
至此windows和linux的幾個版本的安裝到此就結束了。
八、基礎語句
特此申明一下:以下圖片,凡是
黑底白字的是python2.7版本的截圖;
白底黑字的是python3.6版本的截圖。
兩者用的都是Windows版本。
1、輸出
①單字串輸出
print(“需要輸出的內容”)
或者
print(‘需要輸出的內容’)
即使用單引號或者雙引號都可以
從上面兩張圖片可以看出,python3.6不支援不帶括號的輸出,而python2.7則支援全部四張方式。
②多字串輸出
從上面兩張圖片都可以看出,兩個版本可以同時輸出多個字串,中間用逗號隔開,這樣結果就可以連城一串輸出,但是不能的是,python2.7版本,必須不能帶小括號,而python3.6則必須帶括號。
③數值輸出
在數值輸出方面,兩個版本都是一樣的。對於上面最後一個輸出的解釋是:對於%(100 + 200=),Python直譯器自動計算出結果300,但是,“100 + 200=%d”是字串而非數學公式,Python把它視為字串,請自行解釋上述列印結果。
2、輸入
變數名=raw_input(“提示或說明”)
變數名=input(“提示或說明”)
說明:函式input()或者raw_input()會讓程式暫停執行,等待客戶通過提示或說明來輸入一些內容,當用戶輸入完內容後,python會將使用者輸入的內容賦值給變數(本例中是變數name,即把使用者輸入的dabiaoge賦值給了變數name)
注意:SublimeText編輯器不能執行提示使用者輸入的程式,但是可以使用該軟體來編寫提示yonghu輸入的程式,然後必須通過終端在執行程式。
3、檢視變數型別
說明:變數不僅可以為整數或浮點數,還可以是字串
type(變數名)
變數型別如下:
str:字串
bool:布林型(注:布林型變數的值只有true真和false假)
NoneType:空值(None是一個特殊常量,None不是0,也不是字串,None的型別是NoneType,None可以賦予給任何的變數)
Int:整數型別
float:浮點數(通俗的說就是帶小數點的數)
4、長整數
說明:pyhton2.7版本在長整數結果後面會有一個“L“,而在python3.6版本則去掉了這個”L“。
5、插入TAB鍵(\t)和插入換行(\n)
兩個版本都一樣。
注:一個TAB鍵等於8個空格。
6、不轉義print輸出的內容
print(r”\taa\nbb”)
兩個版本都一樣。
7、一次顯示多行
等同於如下格式:
但是建議使用print(’’’xxx
xxx
xxx’’’)
這種格式。
8、在print使用引用功能:引用整數
解釋:%引用,d整數;%d引用一個整數,然後%(整數值)就是設定這個整數。
9、運算子
加:+ 減:- 乘:* 除:/ 取餘:%
從上面兩個圖片可以看出,在加減乘方面都是一樣的,但是在除法方面,python2.7版本,除法運算的結果只去商,捨棄了餘數,並且商是整數;而python3.6版本,除法運算的結果,則完全顯示了正確的結果,該有小數的會顯示小數,即使沒有餘數,商數整數,也會以浮點數的方式顯示。這是2系列版本和3系列版本的明顯的區別。
此外還有一種除法叫地板除:
2.7版本正常的除法和地板除沒區別,而3.6版本則有區別,3.6版本的地板除,則顯示商的結果,舍掉了餘數。
10、檢視系統關鍵字
變數命名規則如下:
-
變數名只能包括字母、數字和下劃線。
-
變數名可以使用字母或者下劃線開頭,但不能以數字開頭。
-
變數名不能包含空格,但可以使用下劃線來分隔其中的單詞。
-
不能使用關鍵字作為變數名(即用上面的查詢方法可以查詢到哪個是關鍵字,變數命名要避免使用關鍵字)
-
不要使用函式名作為變數名
-
變數名應該即簡短又具有描述性
-
慎用小寫字母i和大寫字母O,應該易被當做數字1和0
-
建議不要使用大寫字母,雖然可以用,但是大寫字母不易識別