Python高階 相容Python2 3

2021-09-25 19:14:58 字數 1117 閱讀 9065

第一種也是最重要的方法,就是匯入future模組。它可以幫你在python2中匯入python3的功能。

# 上下文管理器是python2.6+引入的新特性,如果你想在python2.5中使用它可以這樣做:

from __future__ import with_statement

# 在python3中print已經變為乙個函式。如果你想在python2中使用它可以通過__future__匯入:

print

# output:

from __future__ import print_function

print(print)

# output:

try:

import urllib.request as urllib_request # for python 3

except importerror:

import urllib2 as urllib_request # for python 2

我們將模組匯入**包裝在try/except語句中。我們是這樣做是因為在python 2中並沒有urllib.request模組。這將引起乙個importerror異常。而在python2中urllib.request的功能則是由urllib2提供的。所以,當我們試圖在python2中匯入urllib.request模組的時候,一旦我們捕獲到importerror我們將通過匯入urllib2模組來代替它。

最後,你要了解as關鍵字的作用。它將匯入的模組對映到urllib.request,所以我們通過urllib_request這個別名就可以使用urllib2中的所有類和方法了。

python2中有12個內建功能在python3中已經被移除了。要確保在python2**中不要出現這些功能來保證對python3的相容。

from future.builtins.disabled import *

# 在python3中使用這些被遺棄的模組時,就會丟擲乙個nameerror異常如下:

有一些包在非官方的支援下為python2提供了python3的功能。例如:

官方指南

python是高階動態程式語言 Python語言

python是一門跨平台 開源 免費的解釋型高階動態程式語言。python支援命令式程式設計 how to do 函式式程式設計 what to do 完全支援物件導向程式設計,擁有大量擴充套件庫。膠水語言 可以把多種不同語言編寫的程式融合到一起實現無縫拼接,更好地發揮不同語言和工具的優勢,滿足不同...

Pytho高階篇 yield的用法

yield 是python中非常有用的乙個關鍵字,可以實現很多魔法。yield關鍵字主要有一下幾個用法。1.yield基本用法 yield用在函式中,實現類似用return的功能,但是返回的是乙個generator.更多詳細解釋,參考下邊的 如何正確理解yiled在函式中的作用 2.yield實現上...

Python學習筆記 1 1 2 認識Python

一.課程目標 二.詳情解讀 1.初識pythonpython語言是一種高階程式語言,它於1991年由吉多.範羅蘇姆 guido van rossum 發明。目前主要應用於web開發 gui開發 網路爬蟲 資料科學 人工智慧等領域。python官方 python語言也是一種多正規化程式語言,即物件導向...