• 50-Python2和3字符编码的区别


    Python2和3字符编码的区别

    区别点 python2 python3
    print 是一个语法结构 是一个函数,print(‘hello world’)
    编码问题 pyhton2诞生的时候没有Unicode,所以python2使用的默认编码格式是asscii编码,这也是python2经常出现编码问题的原因之一 python3中程序默认数据类型为Unicode,所以直接将数据编码(encode)成为想要转换的数据类型(gbk,utf-8,gb18030,gb2312),然后解码成为对应的数据类型显示在屏幕上
    除法运算 整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数相除会保留小数点的部分得到一个浮点数的结果。 如:>>> 1 / 2
    0
    >>> 1.0 / 2.0
    0.5
    对于整数之间的相除,结果也会是浮点数, 如:>>> 1/2
    0.5
    input python2中的raw_input()与python3中的input()功能一样,raw_input()会把用户输入的任何值都作为字符串来对待;而python2中的input不能读取非字符串 Python3 中只有 input(),并且把用户输入的任何值都作为字符串来对待。
    不等运算符 Python 2.x中不等于有两种写法 != 和 <> Python 3.x中去掉了<>, 只有!=一种写法
    1. 打开python解释器
    2. python解释器相当于文本编辑器,读取二进制转化为普通字符 a = 1
    3. 对转化后的普通字符进行解释(定义变量就要新开辟内存空间存放变量)

    python2

    用文件指定的编码方式存储定义后的变量

    如果文件指定编码为'gbk' ,那就会以gbk的形式存储变量, 本来打印的是0和1,但是终端会自动对你的0和1安装终端默认的编码转换成字符 ,如果终端的默认编码是utf8 ,乱码; 如果终端默认编码是gbk,不乱吗

    如果定义变量前加上u,coding:xxx不会对他造成任何影响, 因为会用unicode编码存储变量, 终端是任何类型的编码都可以识别

    python3

    用unicode编码方式存储定义后的变量

    以后写文件以什么格式存储,就以什么格式读取

  • 相关阅读:
    Djiango项目的创建以及配置介绍1
    最大矩形土地 单调栈或者DP
    0917 lxs 反思
    0915 反思
    codeforces 1209/C Paint the Digits 观察
    NOIP2014 解方程 秦九韶算法+多项式处理
    整数拆分问题
    机器人M号
    有趣的数列 唯一分解定理+卡特兰数
    数位DP 不要62
  • 原文地址:https://www.cnblogs.com/LWX-YEER/p/11379544.html
Copyright © 2020-2023  润新知