加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

Python3之编码介绍

发布时间:2021-11-12 11:26:28 所属栏目:教程 来源:互联网
导读:一,Python2与python3的区别 1)python2可以不用括号() python3必须加括号 2)python2中有range()有序列表,xrange()生成器 python3中只有range() 3)python2中输入是raw_input() python3中输入是input() 二, = == is 三者的区别 1) = 是赋值 == 是比较,

一,Python2与python3的区别
 
1)python2可以不用括号()
 
    python3必须加括号
 
2)python2中有range()有序列表,xrange()生成器
 
    python3中只有range()
 
3)python2中输入是raw_input()
 
    python3中输入是input()
 
二,  =   ==   is  三者的区别
 
1)  =           是赋值
 
    ==         是比较,值是否相等
 
        is         比较的是内存地址
 
    id(内容)   打印的是内容的id       print(id1(内容),id2(内容))
 
  is 与 == 区别:
 
  is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
 
三,小数据池
 
        小数据池是int和str在一定范围内共用一个数据池,范围-1— -256。小数据池是为了节省内存。
 
1)str:不含有特殊字符的共用
 
            ps:  s1 = ‘alex’    
 
                      s2 = 'alex'
 
                      print(s1 is s2)
 
                    结果是True
 
2)str: ‘一个字符’*小于等于20的数字,还是共用,如果是大于20的就不共用了。
 
              多个字符不论乘什么数字,都不共用
 
3)剩下的list  dict  taple  set等都没有小数据池概念
 
四,编码
 
 ascii码:         只有英文字母和特殊字符,一个字节是8位
 
unicode码:  一个字符是32位,一个字母4个字节
 
                      一个汉字是32位,一个汉字4个字节
 
utf-8:           一个字母是8位,一个字母1个字节
 
                      一个汉字是24位,一个汉字3个字节
 
gbk;             一个字母是8位,一个字母1个字节
 
                      一个汉字是16位,一个汉字2个字节
 
1)各个编码之间的二进制不能互相识别,会乱码。
 
    uncode占得内存太多,所以不能传输和储存。
 
    utf-8,gbk,utf-16,utf-32,gb2312,ascii等都可以储存和传输。
 
2)python3在内存中是用unicode编码方式存储的,所以不能直接储存和传输,要转化为其他编码进行储存和传输。
 
五,bytes类型
 
    bytes类型也是一种数据类型。
 
    bytes不是用unicode方式编码的,所以可以储存和传输。
 
    bytes的编码方式是utf-8,gbk,ascii,gb2312等。
 
1)英文
 
      在python3中:str表现形式; s = ''alex''           str编码形式:unicode
 
      在bytes中:   str表现形式: s = b''alex''          str编码形式:utf-8,gbk,ascii,gb2312等
 
      中文
 
      在python3中:str表现形式; s = ''中国''          str编码形式:unicode
 
      在bytes中:   str表现形式: s = b''xe91e91e91e91e91e91         str编码形式:utf-8,gbk,ascii,gb2312等
 
六,编码  encode
 
1)将str>>>bytes   可以指定编码方式      
 
    s1 = ‘alex’
 
    s11 = s1.encode('utf-8')
 
    print(s11)
 
    表面是将str转化为bytes,实际内部是将unicode转化为utf-8,gbk,ascii,gb2312等

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读