Python2.x與3??.x版本區別
Python的3.0版本,常稱為Python 3000,或簡稱Py3k。相對於Python的早期版本,這是一個較大的升級。
為了不帶入過多的累贅,Python 3.0在設計的時候沒有考慮向下相容。
許多針對早期Python版本設計的程式都無法在Python 3.0上正常執行。
為了照顧現有程序,Python 2.6作為一個過渡版本,基本上使用了Python 2.x的語法和庫,同時考慮了向Python 3.0的遷移,允許使用部分Python 3.0的語法與函數。
新的Python程式建議使用Python 3.0版本的語法。
除非執行環境無法安裝Python 3.0或程式本身使用了不支援Python 3.0的第三方函式庫。目前不支援Python 3.0的第三方函式庫有Twisted, py2exe, PIL等。
大多數第三方函式庫都正在努力相容Python 3.0版本。即使無法立即使用Python 3.0,也建議編寫相容於Python 3.0版本的程序,然後使用Python 2.6, Python 2.7來執行。
主要變化
Python 3.0的變化主要在以下幾個方面:
print語句沒有了,取而代之的是print()函數。 Python 2.6與Python 2.7部分地支援這種形式的print語法。在Python 2.6與Python 2.7裡面,以下三種形式是等價的:
print "fish"
print ("fish") #注意print後面有個fish
print ("fish") #注意print後面有個fish
#print()不能帶有任何其它參數 然而,Python 2.6實際上已經支援新的print()語法:", sep=', ')
新的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(repre")))))))
化/"在Python 3.x內總是會傳回浮點數。而在Python 2.6內會判斷被除數與除數是否為整數。如果整數會回傳整數值,相當於整除;浮點數則傳回浮點數值。
為了讓Python 2.6統一回傳浮點數值,可以:
from __future__ import di
result={}for k , v in d.items(): result[expr1]=expr2return result 式這個文法等價於:
result = set()
for x in stuff:
def sendMail(from_: str , to: str, title: str, body: str) -> bool:
pass
winreg
ConfigParser configparser
copy_reg copyreg
Queue queue
SocketServer socketserver
repr reprlib
repr reprlib
repr reprlib
repr 7070制必須寫成0b111。新增了一個bin()函數用於將一個整數轉換成二進位字符串。 Python 2.6已經支援這兩種語法。
dict.keys(), dict.values(), dict.items(), map(), filter(), range(), zip()不再傳回列表,而是迭代器。
如 果兩個物件之間沒有定義明確的有意義的順序。使用, =比較它們會投擲異常。例如1
可以註解函數的參數與回傳值。此特性可方便IDE對原始碼進行更深入的分析。例如為參數增加類別訊息:
捕獲異常的語法由except exc, var改為except exc as var。使用語法except (exc1, exc2) as var可以同時捕捉多種類別的異常。 Python 2.6已經支援這兩種語法。
集合(set) 的新寫法:{1,2,3,4}。注意{}仍然表示空的字典(dict) 。
字典推導式(Dictionary comprehensions) {expr1: expr2 for k, v in d},這個語法等價於
合併int與long型。
多個模組被改名(根據PEP8):
StringIO模組現在被合併到新的io模組內。 new, md5, gopherlib等模組被刪除。 Python 2.6已經支援新的io模組。
httplib, BaseHTTPServer, CGIHTTPServer, SimpleHTTPServer, Cookie, cookielib被合併到http包內。
取消了exec語句,只剩下exec()函數。 Python 2.6已經支援exec()函數。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Golang在性能和可擴展性方面優於Python。 1)Golang的編譯型特性和高效並發模型使其在高並發場景下表現出色。 2)Python作為解釋型語言,執行速度較慢,但通過工具如Cython可優化性能。

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。
