日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 32的值_示例解读 Python 2 和 Python 3 之间的主要差异

發布時間:2024/7/23 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 32的值_示例解读 Python 2 和 Python 3 之间的主要差异 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

每門編程語言在發布更新之后,主要版本之間都會發生很大的變化。 在本文中,Vinodh Kumar 通過示例解釋了 Python 2 和 Python 3 之間的一些重大差異,以幫助說明語言的變化。

本教程主要介紹內容:表達式

Print 選項

Unequal 操作

Range

自動遷移

性能問題

主要的內部事務更改

1、表達式

在 Python 2 中為獲得計算表達式,你會鍵入:X?=?raw_input?("enter?some?values)

但在 Python 3 中,你會鍵入:X?=?input?("enter?some?values")

因此,無論我們輸入什么,值都會分配給 2 和 3 中的變量 x。當在 Python 2 中輸入 2*6 時,結果將是 12,這是評估值。

但是,當在 Python 3 中運行相同的程序時,結果是字符串值。 在這種情況下,它看起來像字符串格式的 2*6。

那么,我們如何獲得評估表達式呢? 現在,我們必須使用一個名為 eval 的表達式或函數。 當您在輸入之前編寫 eval 時,它會將表達式轉換為計算值。x=?eval(input("enter?some?values"))?=?12

具體表達式示例:

在 Python 2 中:name?=?input("What?is?your?name??")print?("Hello,?%s."?%name)

然后輸出:

在 Python 3 中:name?=?input("What?is?your?name??")print?("Hello,?%s."?%name)

然后輸出:

我們可以清楚地看到,他們之間的差異很小。

2、Print 選項

在 Python 2 中,print 是一個不需要括號的語句。 在 Python 3 中,print 是一個函數,值需要用括號括起來。

Python 2

輸入:print?"hello?world"

會輸出:

Python 3

輸入:1?!=?1.0print?(False)

會輸出:

3、Unequal 操作

當我們在 Python 2 中使用 Unequal 運算符時,我們需要使用大于 > 或小于 < 符號。 但是,在 Python 3 中,有一個通用運算符。 感嘆號 ! 和等號 = 用于表示值是否相等。

Python 2 -<> 運算符表示不相等

Python 3 -!?運算符表示不相等

Python 2

輸入:1?<>?1.0print?"False"

會輸出:

Python 3

輸入:1?!=?1.0print?(False)1?!=?1.0print?(False)

會輸出:

4、Range

Range 用于生成數字列表,通常用于迭代 for 循環。

在這里你可以看到 X 等于 Range 10。當我們檢查變量 X 時,它返回了列表類型。 這意味著在 Python 2 中,Range 是列表的類型。當我寫 X 之后,得到一個對象列表,這里是:0 1 2 3 4 5 6 7 8 9。

現在讓我們轉到 Python 3,當我們寫 X 等于 Range 5,這個值就被賦給變量 X;當我們檢查變量 X 的類型時,它會返回一個 Range 對象本身。 這意味著在 Python 3 中,Range 是一個范圍對象本身。

Python 2

輸入:print?range(0,10,1)

會輸出:

Python 3

輸入:print(list(range(10)))

會輸出:

5、自動遷移

那么,我們如何自動執行腳本以將代碼從 Python 2 移動到 3?

在這里,我們可以使用 Python 中的 Add 2 Numbers 進行測試。

Python 2

輸入:n1?=?1n2?=?2add?=?float(n1)?+?float(n2)print?'sum?of?{0}?and?{1}?is?{2}'.format(n1,?n2,?add)

會輸出:

現在使用 2to3 的遷移,我們可以轉換上面的代碼。

輸入:n1?=?1n2?=?2add?=?float(n1)?+?float(n2)

print('sum?of?{0}?and?{1}?is?{2}'.format(n1,?n2,?add))

會輸出:

所以在這里我們看到它可以在命令行上通過 2to3 轉換為 Python 3 代碼。

Python 提供了自己的工具,名為 2to3.py,它運行了一堆腳本來將你的 Python 2 代碼轉換為 3。雖然它并不完美,但它總體上做得非常出色。轉換任何代碼后,您可以手動修復任何問題。

6、性能問題

此升級中已修復了大多數性能問題! 在比較兩個版本之間的基準時,差異幾乎可以忽略不計。

7、一些主要的內部事務變更

Python 2print 功能括號選填。

使用 u 作為前綴字符串以生成 unicode 字符串。

整數除法總是返回整數 -5/2=2。

Raw_input() 讀取字符串。

input() 評估讀取的數據。

generator .next()。

Python 3:print 功能括號必填。

默認情況下為字符串 unicode。

整數除法可能導致浮動 -5/2=2.5。

Raw_input() 不可用。

輸入始終讀取字符串。

Next (generator)。

Py2 to py3 實用程序。

Dictionary?.keys() 和 .values() 返回的為視圖不是列表。

在非自然比較中不能再使用比較運算符。

例如,None < None 將引發 TypeError 而不是返回 false。

不推薦使用百分比(%)字符串格式化運算符,使用 .format() 函數或連接。

總結

以上是生活随笔為你收集整理的python 32的值_示例解读 Python 2 和 Python 3 之间的主要差异的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。