Python:一些小知识

2018-06-18 00:00:37来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

小知识点总结

一、Python2与Python3 的区别
1、Python2中可以加括号输出,也可不加输出
    Python3中必须加
2、python2 中有xrange(生成器)也有range
    python3中只有range
3、python2中的input为raw_input
     python3 中为input
二、‘=’与is的区别
1、'='为赋值
      '=='比较值是否相等
      'is'比较的是内存地址
       'id(内容)'--->内存地址,对于赋值运算来说 指向同一个地址
li1 = [1,2,3]
li2 = li1
print(li1 is li2)---->True
print(id(li1),id(li2))
2、数字,字符串 小数据池
int的小数据池:数字的范围-5---256数字在这个范围之内,会共用一个内存地址
字符串的小数据池:不能含有特殊字符。有特殊字符不能共用一个内存地址。s*2o还是同一个地址,s*21以后都是两个地址。只能是一个字符
4,剩下的 list dict tuple set没有小数据池的概念
5,python3中的编码
ascii一个字符用一个字节,8位表示
unicode A:用32位来表示。4个字节。中:4个字节
 uft-8:英文是8位1个字节,中文用24位3个字节来表示
gbk :  英文用1个字节8位来表示,中文用16位,2个字节来表示。
(1)各个编码之间的二进制是不能互相识别的,会产生乱码
(2)文件的储存,传输,不能是Unicode(只能是utf-8,utf-16,gbk,gb2312,ascii等)
py3: 
    str 在内存中使用Unicode编码。
        bytes类型一种特殊的数据类型,和str很像,但不是以unicode编码。
         对于英文:
                    str的表现形式---》s = 'alex'
                            编码方式:0101010010  Unicode
                     bytes: 表现形式: s =b'alex'
                            编码方式:utf-8

对于中文:
                    str的表现形式---》s = '中国'
                            编码方式:0101010010  Unicode
                     bytes: 表现形式: s =b'x\e91\e91\e01\e21\e31\e32'(16进制)
          
怎么转换
#encode如何将str--》bytes类型
s1 ='alex'
s11 = s1.encode('utf-8')'
print(s11)------>b'alex'
                 #utf-8
s2 ='中国'
s2 = s2.encode('utf-8')
print(s22)
                # 编码方式:utf-8   

 

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:beautifulSoup模块

下一篇:进程管理工具Supervisor(一)简介与使用