Python *Mix_w6

  • is 和 ==
    • 小数据池
    • python中有两个数据类型存在小数据池:数字int范围 -5 ~ 256
    • 字符串中如果有特殊字符+ - * / @ 等等,他们的内存地址就可能不一样
    • 字符串中单个*20以内他们的内存地址一样,单个*21以上内存地址不一致
    • 注意: pycharm是个坑, 一个py文件中所有相同的字符串 一般都是使用一样的内存地址
  • is 和== 的区别:
    • is 比较的是内存地址,也就是id(),id()可以获取内存地址
    • == 比较的是==两端的值
    • a = 'alex@'
    • a1 = 'alex@'
    • print(a is a1) # Fales
    • n = 5//2
    • n1 = 2
    • print(n is n1) # True
    • a = 'a'*21
    • b = 'a'*21
    • print(a is b)
    • a = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
    • b = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
    • print(a is b)
    • n = -6
    • n1 = -6
    • print(n is n1) # False
    • n = -5
    • n1 = -5
    • print(n is n1) # True
    • n = 257
    • n1 = 257
    • print(n is n1) # True
  • 编码和解码
    • ascii 码:
      • 不支持 中文
      • 支持 英文 数字 符号
      • 8位 一个字节
    • gbk码 国标:
      • 支持 中文,英文,数字,符号
      • 英文 16位 二个字节
      • 中文 16位 二个字节
      • 必须兼容ASCII
    • unicode 万国码
      • 支持 中文,英文,数字,符号
      • 英文 32 位 四个字节
      • 中文 32位 四个字节
      • 兼容ASCII
    • utf-8 长度可变的万国码 最少用8位
      • 英文 8位 一个字节
      • 欧洲: 16bit 2byte
      • 中文 24位 三个字节
    • Python3中 程序运行阶段 使用的是unicode 显示所有的内容
    • bytes类型
    • 传输和存储都是使用bytes
    • pycharm 存储的时候默认是使用utf-8
  • 编码和解码
    • encode(编码方式) ---- 拿到明文编码后对应的字节
    • decode(编码方式) -----将编码后的字节解码成对应的明文
  • 注意: 用什么进行编码就要什么进行解码 不然后会懵逼!
    • python2的版本. 默认使用ASCII
    • python3的版本. 默认使用unicode. 在计算的时候会非常方便
    • 在网络传输和数据存储的时候. 换gbk, utf-8(90%)
    • 编码(encode): unicode变成你需要的编码
    • 编码之后的内容是字节(bytes类型)
    • 解码(decode): 把目标bytes转换成字符串
生命不易,岁月蹉跎,愿行事浩然,不负所望.
原文地址:https://www.cnblogs.com/mixw/p/9410374.html