亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python2x與python3x區別:歸納整理與補充

2019-11-06 07:10:22
字體:
來源:轉載
供稿:網友

首先兩者的差別不大,最明顯的區別在于調用PRint的方式,我們根據這就可一眼區分出2x還是3x版本,最重要的區別則是處理Unicode字符的方式。

一、 print 從語句變為函數原: print 1, 2+3改為: print ( 1, 2+3 )二、range 與 xrange原 : range( 0, 4 ) 結果 是 列表 [0,1,2,3 ]改為:list( range(0,4) )原 : xrange( 0, 4 ) 適用于 for 循環的變量控制改為:range(0,4)三、字符串原: 字符串以 8-bit 字符串存儲改為: 字符串以 16-bit Unicode 字符串存儲Py3.X源碼文件默認使用utf-8編碼,這就使得以下代碼是合法的: >>> 中國 = 'china' >>>print(中國) china 四、try except 語句的變化原: try: ...... except Exception, e : ......改為 try: ...... except Exception as e : ......五、打開文件原: file( ..... ) 或 open(.....)改為: 只能用 open(.....)六、從鍵盤錄入一個字符串原: raw_input( "提示信息" )改為: input( "提示信息" )七:除法運算符python 2.4.2以前 10/3 結果為 3 python 3.0 10 / 3 結果為 3.3333333333333335 10 // 3 結果為 3八、字節數組對象 --- 新增(一) 初始化 a = bytearray( 10 ) # a 是一個由十個字節組成的數組,其每個元素是一個字節,類型借用 int # 此時,每個元素初始值為 0(二) 字節數組 是可變的 a = bytearray( 10 ) a[0] = 25 # 可以用賦值語句更改其元素,但所賦的值必須在 0 ~ 255 之間(三) 字節數組的切片仍是字節數組(四) 字符串轉化為字節數組 #coding=gbk s ="你好" b = s.encode( "gbk") # 先將字符串按某種“GBK”編碼方式轉化為 bytes c = bytearray( b ) #再將 bytes 轉化為 字節數組 也可以寫作 c = bytearray( "你好", "gbk")(五) 字節數組轉化為字符串 c = bytearray( 4 ) c[0] = 65 ; c[1]=66; c[2]= 67; c[3]= 68 s = c.decode( "gbk" ) print ( s ) # 應顯示: ABCD (六) 字節數組可用于寫入文本文件#coding=gbkf = open("c://1234.txt", "wb")s = "張三李四abcd1234"# -------------------------------# 在 python2.4 中我們可以這樣寫:# f.write( s )# 但在 python 3.0中會引發異常# -------------------------------b = s.encode("gbk")f.write( b )c=bytearray( "王五","gbk")f.write( c )f.close()input("?")

bytes 可以看成是“字節數組”對象,每個元素是 8-bit 的字節,取值范圍 0~255。

由于在 python 3.0中字符串以 unicode 編碼存儲,當寫入二進制文件時,字符串無法直接寫入(或讀?。?,必須以某種方式的編碼為字節序列后,方可寫入。

(一)字符串編碼(encode) 為 bytes例: s = "張三abc12" b = s.encode( 編碼方式) # b 就是 bytes 類型的數據 # 常用的編碼方式為 : "uft-16" , "utf-8", "gbk", "gb2312", "ascii" , "latin1" 等 # 注 : 當字符串不能編碼為指定的“編碼方式”時,會引發異常(二) bytes 解碼(decode)為字符串 s = "張三abc12" b = s.encode( "gbk") # 字符串 s 編碼為 gbk 格式的字節序列 s1 = b.decode("gbk") # 將字節序列 b以gbk格式 解碼為字符串 # 說明,當字節序列不能以指定的編碼格式解碼時會引發異常(三)使用方法舉例#coding=gbkf = open("c://1234.txt", "wb")s = "張三李四abcd1234"# -------------------------------# 在 python2.4 中我們可以這樣寫:# f.write( s )# 但在 python 3.0中會引發異常# -------------------------------b = s.encode("gbk")f.write( b )f.close()input("?")讀取該文件的例子:#coding=gbkf = open("c://1234.txt", "rb")f.seek(0,2) #定位至文件尾n = f.tell() #讀取文件的字節數f.seek(0,0) #重新定位至文件開始處b = f.read( n )# ------------------------------# 在 python 2.4 中 b 是字符串類型# 要 python 3.0 中 b 是 bytes 類型# 因此需要按指定的編碼方式確碼# ------------------------------ s = b.decode("gbk")print ( s )# ------------------------------# 在 python 2.4 中 可以寫作 print s 或 print ( s )# 要 python 3.0 中 必須寫作 print ( s )# ------------------------------ f.close()input("?")運行后應顯示:張三李四abcd1234(四) bytes序列,一但形成,其內容是不可變的例:s="ABCD"b=s.encode("gbk")print b[0] # 顯示 65b[0] = 66 # 執行該句,出現異常: 'bytes' object does not support item assignment

另(歸納補充): 1:“import thread”問題,python2x中的模塊thread在python3x中編程”_thread”(需要在前面加一個下劃線).否則會出現“ImportError: No module named thread 2、range():python2中返回一個列表,python3中返回一個自然數序列 3、Python3x中的字符串是Unicode字符串而不是字節數組,而在Python2x中,我們需要區分普通的以字節為單位的字符串以及Unicode字符串。 4、 python2x里keys()會返回一個列表,也就是對一個字典a,a.keys()返回的就是a的所有的鍵組成的一個列表 而在python3x里,a.keys()返回的是dict_keys()形式,它是鍵的迭代形式,譬如: a={‘redkey’:’redvalue’,’yellowkey’:’yellowvalue’,’bluekey’:’bluevalue’} a.keys() 就是: dict_keys([‘redkey’,’yellowkey’,’bluekey’]) 想要使用它就需要我們把它轉換成list形式: list(a.keys()) 就是: [‘redkey’,’yellowkey’,’bluekey’] 同樣,對于python3x中的values()以及items()也需要我們手動把其返回值變為列表形式


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97超级碰在线看视频免费在线看| 狠狠躁夜夜躁人人爽超碰91| 最近2019好看的中文字幕免费| 欧美老少配视频| 国产一区二区黄| 亚洲大胆人体视频| 精品视频在线播放| 欧美亚洲成人xxx| 成人在线精品视频| 欧美中文字幕视频在线观看| 国产激情综合五月久久| 日本精品一区二区三区在线播放视频| 亚洲自拍小视频免费观看| 亚洲国产精品悠悠久久琪琪| 亚洲国产精品推荐| 欧美疯狂做受xxxx高潮| 亚洲欧美日韩图片| 亚洲国产美女精品久久久久∴| 亚洲电影免费观看高清完整版在线| 国产精品丝袜久久久久久不卡| 久久久精品久久久久| 91超碰caoporn97人人| 久久人人爽人人爽爽久久| 久久躁日日躁aaaaxxxx| 国产精品 欧美在线| 最新国产成人av网站网址麻豆| 欧美性黄网官网| 亚洲精品一区二区三区婷婷月| 色婷婷亚洲mv天堂mv在影片| 日韩毛片在线看| 美女撒尿一区二区三区| 国产日韩av在线播放| 在线电影欧美日韩一区二区私密| 久热精品视频在线观看| 88国产精品欧美一区二区三区| 国产成人在线播放| 久国内精品在线| 久久国产精品电影| 亚洲va欧美va在线观看| 在线日韩av观看| 国产精品v片在线观看不卡| 91sao在线观看国产| 久久视频国产精品免费视频在线| 欧洲日韩成人av| 久久久免费精品视频| 久久精品福利视频| 精品亚洲一区二区三区在线观看| 久久青草福利网站| 国模叶桐国产精品一区| 亚洲欧美另类国产| 久久精品国产亚洲7777| 欧美日韩国产限制| 国产精品久久久久久网站| 欧美日韩在线视频首页| 亚洲国产精品字幕| 日韩美女主播视频| 日韩中文字幕免费视频| 91香蕉电影院| 欧美日韩成人免费| 欧美精品激情在线观看| 欧美亚洲另类制服自拍| 国产一区二区av| 韩国视频理论视频久久| 久久久久亚洲精品| 欧美有码在线观看视频| 亚洲精品小视频| 欧美综合激情网| 亚洲午夜av电影| 亚洲人成在线观看网站高清| 高清一区二区三区四区五区| 在线免费看av不卡| 亚洲精品少妇网址| 97av在线视频| 最近更新的2019中文字幕| 欧美激情视频三区| 在线日韩日本国产亚洲| 国产精品91久久| 最近中文字幕mv在线一区二区三区四区| 欧美成人性色生活仑片| 欧美精品在线观看| 国产精品中文在线| 国产视频久久网| 精品亚洲一区二区三区在线播放| 亚洲欧美日韩高清| 亚洲伦理中文字幕| 成人免费黄色网| 成人夜晚看av| 亚洲自拍偷拍福利| 国产精品都在这里| 国产精品视频久久久| 97国产真实伦对白精彩视频8| 伊人精品在线观看| 久久久免费精品视频| 亚洲免费视频在线观看| 久久久亚洲影院你懂的| www.国产一区| www国产精品视频| 日韩av中文字幕在线播放| 日韩精品极品毛片系列视频| 欧美性猛交xxxx富婆弯腰| 狠狠色噜噜狠狠狠狠97| 亚洲偷欧美偷国内偷| 欧美午夜影院在线视频| 伊人久久大香线蕉av一区二区| 日韩激情第一页| 久久久久久av| 亚洲欧美制服丝袜| 97免费中文视频在线观看| 国产精品久久久久久久久久ktv| 免费不卡在线观看av| 91探花福利精品国产自产在线| 欧美大片va欧美在线播放| 97精品视频在线播放| 性色av一区二区三区红粉影视| 欧洲亚洲免费视频| 亚洲r级在线观看| 综合网日日天干夜夜久久| 91高潮精品免费porn| 成人黄色片网站| 亚洲国产精品一区二区三区| 国产网站欧美日韩免费精品在线观看| 午夜精品久久久久久99热软件| 欧美精品精品精品精品免费| 色狠狠久久aa北条麻妃| 最好看的2019的中文字幕视频| 国产www精品| 在线观看欧美www| 日韩精品极品毛片系列视频| 动漫精品一区二区| 日韩资源在线观看| 精品视频在线观看日韩| 国产一区二区三区直播精品电影| 日韩在线免费视频观看| 国色天香2019中文字幕在线观看| 久久久久久久久久久久av| 日本成人精品在线| 欧美视频免费在线观看| 亚洲国产一区二区三区在线观看| 国内精品400部情侣激情| 性欧美xxxx交| 午夜精品久久久久久久白皮肤| 亚洲欧洲日产国码av系列天堂| 精品女同一区二区三区在线播放| 国内免费精品永久在线视频| 中文字幕亚洲天堂| 久久久久久国产三级电影| 亚洲精品v欧美精品v日韩精品| 欧美日韩美女在线观看| 成人福利网站在线观看11| 日本久久精品视频| www欧美日韩| 青青草国产精品一区二区| 成人在线精品视频| 在线观看精品自拍私拍| 97成人精品区在线播放| 欧美精品国产精品日韩精品| 成人国产精品久久久久久亚洲| www.色综合| 久久久亚洲福利精品午夜| 国产精品美女免费看| 欧美中文在线免费| 亚洲国产精品成人av| 欧美激情精品久久久久久黑人| 国产精品综合久久久|