码迷,mamicode.com
首页 > 编程语言 > 详细

python2、python3 的区别及小数据池

时间:2017-12-22 15:51:32      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:一个   相同   情况   类型   才有   分享   int   python   str   

一、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 的区别及小数据池

标签:一个   相同   情况   类型   才有   分享   int   python   str   

原文地址:http://www.cnblogs.com/wyx666/p/8082127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!