『壹』 python2和python3的區別
簡單的說,2是舊3是新,3是2的升級版,3完全高於2,2是時代的眼淚3是現在和未來,2逐漸被淘汰3用的人越來越多。
之前兩個版本共存只是因為諸多package的更新換代並沒有跟上,但是到了現在只要還有活人維護的package基本都兼容3了,然而新建的package卻越來越多不兼容2。使用2的意義基本沒有了,日常用3大不了留一個2備用就行。
『貳』 python中n%2是什麼意思
% 是python 運算符 返回余數
n 是 變數 number
n % 2 可以用來判斷 n 是否被 2 整除,檢測奇,偶數。
『叄』 python2和python的區別
1.print不再是語句,而是函數,比如原來是print'abc'現在是print('abc')
但是python2.6+可以使用from__future__importprint_function來實現相同功能
2.在Python3中,沒有舊式類,只有新式類,也就是說不用再像這樣classFoobar(object):pass顯式地子類化object
但是最好還是加上.主要區別在於old-style是classtype類型而new-style是type類型
3.原來1/2(兩個整數相除)結果是0,現在是0.5了
python2.2+以上都可以使用from__future__importdivision實現改特性,同時注意//取代了之前的/運算
4.新的字元串格式化方法format取代%
錯誤,從python2.6+開始已經在str和unicode中有該方法,同時python3依然支持%算符
5.xrange重命名為range
同時更改的還有一系列內置函數及方法,都返回迭代器對象,而不是列表或者元組,比如filter,map,dict.items等
6.!=取代<>
python2也很少有人用<>所以不算什麼修改
7.long重命名為int
不完全對,python3徹底廢棄了long+int雙整數實現的方法,統一為int,支持高精度整數運算.
8.exceptException,e變成except(Exception)ase
只有python2.5及以下版本不支持該語法.python2.6是支持的.不算新東西
9.exec變成函數
類似print()的變化,之前是語句.
簡單補充下
*主要是類庫的變化,組織結構變了些.但功能沒變.urlparse->urllib.parse這樣的變化
*最核心的變化它沒有說,對bytes和原生UNICODE字元串的支持,刪除了unicode對象,str為原生unicode字元串,bytes替代了之前的str這個是最核心的.
*其它...貌似不怎麼重要了.
『肆』 python 2**2**0
python中定義的指數運算的優先順序是從右到左,可以參考python的官方文檔 5.4節《指數運算》(http://docs.python.org/2/reference/expressions.html#the-power-operator)。
根據這條定義,2**2**0=2**(2**0)=2**1=2
如果想要得到1的答案,就需要用括弧強調從左到右的運算順序,(2**2)**0=4**0=1
『伍』 python中python2和python3之間怎麼轉換
python中python2和python3之間的轉換方式如下:
一、放棄python 2.6之前的python版本
python 2.6之前的python版本缺少一些新特性,會給你的遷移工作帶來不少麻煩。如果不是迫不得已還是放棄對之前版本的支持吧。
二、使用 2to3 工具對代碼進行檢查和轉換
2to3是python自帶的一個代碼轉換工具,可以將python2的代碼自動轉換為python3的代碼。當然,不幸的是轉換出的代碼並沒有對python2的兼容做任何的處理。所以我們並不真正使用2to3轉換出的代碼。執行2to3.py 查看輸出信息,並修正相關問題。為了簡化這個轉換過程,這個腳本會將你的Python 2程序源文件作為輸入,然後自動將其轉換到Python 3的形式。
『陸』 Python3和Python2的區別
具體區別如下
1:列印時,py2需要可以不需要加括弧,py3 需要python 2 :print ('lili') , print 'lili'python 3 : print ('lili') python3 必須加括弧exec語句被python3廢棄,統一使用exec函數
2:內涵
Python2:1,臃腫,源碼的重復量很多。 2,語法不清晰,摻雜著C,php,Java的一些陋習。
Python3:幾乎是重構後的源碼,規范,清晰,優美。
3: 輸出中文的區別python2:要輸出中文 需加 # -*- encoding:utf-8 -*-Python3 :直接輸出
4:input不同python2 :raw_input python3 :input 統一使用input函數
5:指定位元組python2在編譯安裝時,可以通過參數-----enable-unicode=ucs2 或-----enable-unicode=ucs4分別用於指定使用2個位元組、4個位元組表示一個unicode;python3無法進行選擇,默認使用 ucs4查看當前python中表示unicode字元串時佔用的空間:impor sysprint(sys.maxunicode)#如果值是65535,則表示使用usc2標准,即:2個位元組表示#如果值是1114111,則表示使用usc4標准,即:4個位元組表示
6:py2:xrangerangepy3:range 統一使用range,Python3中range的機制也進行修改並提高了大數據集生成效率
7:在包的知識點里包:一群模塊文件的集合 + __init__區別:py2 : 必須有__init__py3:不是必須的了
8:不相等操作符"<>"被Python3廢棄,統一使用"!="
9:long整數類型被Python3廢棄,統一使用int
10:迭代器iterator的next()函數被Python3廢棄,統一使用next(iterator)
11:異常StandardError 被Python3廢棄,統一使用Exception
12:字典變數的has_key函數被Python廢棄,統一使用in關鍵詞
13:file函數被Python3廢棄,統一使用open來處理文件,可以通過io.IOBase檢查文件類型
『柒』 python中2*=3是什麼意思
語法錯誤
如果是 a *= 3 的話, 表示a=a*3, 左值必須要是變數才可以
『捌』 Python 2**2**3=256
解析:
**表示冪運算,優先順序是右結合,a ** b即求a的b次方。
右結合的意思是說多次冪運算先遞歸計算右邊的結果:a ** b ** c = a ** ( b ** c)。
所以2 ** 2 ** 3 = 2 ** (2 ** 3) = 2 ** 8 = 256。
(8)python2擴展閱讀:
Python的表達式寫法與C/C++類似。只是在某些寫法有所差別。
主要的算術運算符與C/C++類似。+, -, *, /, //, **, ~, %分別表示加法或者取正、減法或者取負、乘法、除法、整除、乘方、取補、取余。
>>, <<表示右移和左移。&, |, ^表示二進制的AND, OR, XOR運算。>, <, ==, !=, <=, >=用於比較兩個表達式的值,分別表示大於、小於、等於、不等於、小於等於、大於等於。在這些運算符裡面,~, |, ^, &, <<, >>必須應用於整數。
Python使用and, or, not表示邏輯運算。
is, is not用於比較兩個變數是否是同一個對象。in, not in用於判斷一個對象是否屬於另外一個對象。Python支持「列表推導式」(list comprehension)。
『玖』 python3解決了python2的哪些問題
在Python2中,數位進制方面有一定程度的混亂。在Python3中統一了進製表示法。
『拾』 求python2.6.2下載地址
win32版本 http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi
win64版本 http://www.python.org/ftp/python/2.6.2/python-2.6.2.amd64.msi
其他版本見
http://www.python.org/ftp/python/2.6.2/
裡面的python-2.6.2c1是candidate版,不要用這個。