1. 程式人生 > >python2、python3 的區別及小數據池

python2、python3 的區別及小數據池

gbk ascii 才有 print img int() http 內存 put

一、python2 與python3的區別

1、print python2中輸出的格式為:print‘‘ python3輸出為print()

2、在python2中xrange是個生成器,可以轉化成range,在python3中直接是range

3、在python2中用戶交互是raw_input,在python3中是input.

二、關於內存地址(只有數字和字符串才有小數據池, = 是賦值,==是比較的是值,is 是比較,比較的是內存地址 )

關於 is 比較內存地址的情況:

1、

2、數字:在數字 -5---256範圍內,共用相同的id(也就是如果在這個範圍內,a ,b 分別被賦予相同的值的話,那麽他們的內存地址相同)

3、字符串:

    1)不能有特殊字符串

      2)s*20還是同一個地址,s*21以後就是兩個內存地址了

三、python2 和 python3 通用的編碼方式

  1、utf-8編碼方式: 英文 :A 00100000 8位 1字節

中文: 中 00000001 00000010 00001110 24位 3 字節

  2、gbk       英文: A  00000110               8位 1字節

            中文: 中 00000010 00000110           16位 2字節

   各個編碼之間二進制,是不能互相識別的,會產生混亂

   文件之間的儲存、傳輸、不能用unicode碼(因為所占用的空間太大),只能用utf-8、utf-16 、gbk 、gb2312、ascii碼

  3、str在python中是用unicode碼,還有一種是bytes 類型

英文  str: 表現形式 s = ‘alex‘

       編碼方式 0101010101 unicode

    bytes:表現形式 s = b‘alex‘

        編碼方式 00101010 utf-8 gbk

中文 str: 表現方式 s= ‘中國‘

       編碼方式 01010110 utf-8 gbk

    bytes: 表現方式 b‘x\e91\e91\e01\e21\e31\e32

       編碼方式 01001100 utf-8 gbk

encode 編碼 用於將utf-8轉化成bytes

技術分享圖片

python2、python3 的區別及小數據池