More Related Content Similar to Python 入門初體驗 (20) Python 入門初體驗10. Python 入門初體驗
Python 3.0
Python的3.0版本,相對於Python的早期版本,這是一個較大的升級。為了不帶入過多的累贅,
Python 3.0在設計的時候沒有考慮向下相容。許多針對早期Python版本設計的程式都無法在Python
3.0上正常執行。為了照顧現有程式,Python 2.6作為一個過渡版本,基本使用了Python 2.x的語法
和庫,同時考慮了向Python 3.0的遷移,允許使用部分Python 3.0的語法與函式。基於早期Python
版本而能正常執行於Python 2.6並無警告的程式可以通過一個2 to 3的轉換工具無縫遷移到Python
3.0。
新的Python程式建議使用Python 3.0版本的語法[12]。除非執行環境無法安裝Python 3.0或者程式本
身使用了不支援Python 3.0的第三方庫。目前不支援Python 3.0的第三方庫有Twisted, PIL等。大多
數第三方庫都正在努力地相容Python 3.0版本。即使無法立即使用Python 3.0,也建議編寫相容
Python 3.0版本的程式,然後使用Python 2.6, Python 2.7來執行。
Python 2.7被確定為最後一個Python 2.x版本,它除了支援Python 2.x語法外,還支援部分Python
3.1語法。
11. Python 入門初體驗
Python 3.0的變化主要在以下幾個方面:
print語句沒有了,取而代之的是print()函式。可以使用2to3工具來自動轉換。Python 2.6與Python
2.7部分地支援這種形式的print語法。
在Python 2.6與Python 2.7裡面,以下三種形式是等價的:
print "fish"
print ("fish") #注意print后面有个空格
print("fish") #print()不能带有任何其它参数
新的str類型表示一個Unicode字串,相當於Python 2.x版本的unicode類型。而位元組序列則用類似
b"abc"的語法表示,用bytes類表示,相當於Python 2.x的str類型。現在兩種類型不能再隱式地自動
轉換,因此在Python 3.x裡面"fish"+b"panda"是錯誤。正確的寫法是
"fish"+b"panda".decode("utf-8")。Python 2.6可以自動地將位元組序列識別為Unicode字串,方
法是:
from __future__ import unicode_literals
print(repr("fish"))
12. Python 入門初體驗
Python 3.0的變化主要在以下幾個方面:
集合推導式(Set Comprehensions){expr1 for x in stuff}。這個語法等價於:
result = set()
for x in stuff:
result.add(expr1)
return result
八進位數必須寫成0o777,原來的形式0777不能用了;二進位必須寫成0b111。新增了一個bin()函式
用於將一個整數轉換成二進位字串。Python 2.6已經支援這兩種語法。
13. Python 入門初體驗
Python 3.0的變化主要在以下幾個方面:
dict.keys(), dict.values(), dict.items(), map(), filter(), range(), zip()不再返回列表,而是疊代器。
如果兩個物件之間沒有定義明確的有意義的順序。使用<, >, <=, >=比較它們會丟擲異常。比如1 < ""
在Python 2.6裡面會返回True,而在Python 3.0裡面會丟擲異常。現在cmp(), instance.__cmp__()
函式已經被刪除。
可以注釋函式的參數與返回值。此特性可方便IDE對原始碼進行更深入的分析。例如給參數增加類型
資訊:
def sendMail(from_: str, to: str, title: str, body: str) -> bool:
pass
17. Python 入門初體驗
開發環境
通用IDE / 文字編輯器
很多並非整合式開發環境軟體的文字編輯器,也對Python有不同程度的支援,並且加上專門為
Python設計的編輯器外掛模組也會有很高的可用性。
Eclipse + pydev外掛模組,目前對Python 3.X只支援到3.0
emacs +外掛模組
NetBeans +外掛模組
SlickEdit
TextMate
Python Tools for Visual Studio
Vim +外掛模組
Sublime Text +外掛模組
EditPlus
UltraEdit
PSPad
Editra由Python開發的程式編輯器。
Notepad++
21. Python 入門初體驗
Python安裝:
OS X(內建 V2.7)
你需要到這個網站 https://www.python.org/downloads/release/python-352/ 下載 Python 安裝檔:
下載這個 Mac OS X 64-bit/32-bit installer DMG 檔案,
雙擊點開它,
雙擊 Python.mpkg 運行這個安裝檔.
打開你的 終端機(terminal) 驗證安裝過程是否有成功,像這樣子運行 python3 指令:
$ python3 --version
Python 3.5.2
或
python2 安裝:brew install python
python3 安裝:brew install python3
22. Python 入門初體驗
Python安裝:
Linux / Ubuntu
通常你已經內建 Python 了。檢查看看你是不是已安裝(以及它的版本),打開終端機然後輸入下面這個指令:
$ python3 --version
Python 3.5.2
如果你沒有已安裝的 Python 或是你的版本不一樣,你可以如下步驟來安裝:
在你的終端機輸入以下指令:
sudo apt-get install python3.5
Fedora
在你的終端機輸入以下指令:
sudo yum install python3.5
26. Python 入門初體驗
IPython Notebook 安裝
Windows
下載安裝Python
下載安裝pip
python -m pip install -U pip
設置環境變數:path變數點選編輯,並在最後面輸入 ;C:Python27;C:Python27Scripts
下載安裝Ipython
pip install ipython
pip install pyzmq jinja2 tornado mistune jsonschema pygments terminado
安裝pyreadline
pip install jupyter notebook
ipython notebook 或 ipython notebook --profile=dark-bg自動打開瀏覽器並進入到notebook的主介面,
根目錄為運行命令時所在的目錄
27. Python 入門初體驗
IPython Notebook 安裝
MAC
下載安裝Python
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)“
python2 安裝:pip install jupyter
python3 安裝:pip3 install jupyter
安裝完成後輸入下列指令啟動 Jupyter 網頁服務
jupyter notebook