zoukankan      html  css  js  c++  java
  • is和==的区别以及编码、解码

    一. is 和 == 的区别
    小数据池

    数字小数据池的范围 -5 ~ 256
    字符串中如果有特殊字符他们的内存地址就不一样
    字符串中单个*20以内他们的内存地址一样,单个*21以上内存地址不一致

      

    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
    总结:

    == 比较 比较的俩边的值

    is 比较 比较的是内存地址 id()
    二. 编码和解码
    ascii 码:

    不支持 中文

    支持 英文 数字 符号

    8位 一个字节

    gbk码 国标:

    支持 中文,英文,数字,符号

    英文 16位 二个字节

    中文 16位 二个字节


    unicode 万国码

    支持 中文,英文,数字,符号

    英文 32 位 四个字节

    中文 32位 四个字节


    utf-8 长度可变的万国码 最少用8位

    英文 8位 一个字节
    中文 24位 三个字节

    Python3中 程序运行阶段 使用的是unicode   显示所有的内容

    bytes类型

    传输和存储都是使用bytes

    pycharm 存储的时候默认是使用utf-8
     1 s = 'alex'
     2 print(s.encode('utf-8'))    # 编码 encode('utf-8') utf-8 是指定要编码成什么样的编码类型
     3 print(s1.decode('utf-8'))   #
     4 bytes
     5 b'alex'
     6 
     7 s = '饿了'
     8 s1 = s.encode('gbk')      #b'饿了吗'    #b'xe9xa5xbfxe4xbax86xe5x90x97'
     9 print(s.encode('gbk'))                 #b'xb6xf6xc1xcbxc2xf0'
    10 print(s1)
    11 print(s1.decode('utf-8'))
    View Code
    
    
    总结:

    is 和 == 区别

    is 比较内存地址

    id() ---- 获取内存地址

    小数据池:

    数字的小数据池范围是 -5 ~ 256

    字符串:

    字符串中不能包含特殊符号 + - * / @ 等等
    字符串单个字符*20以内内存地址都是一样的,单个字符*21以上内存地址不一致

    注意: pycharm是个坑, 一个py文件中所有相同的字符串 一般都是使用一样的内存地址

    == 比较俩边的值

    编码和解码

    encode(编码方式) ---- 拿到明文编码后对应的字节

    decode(编码方式) -----将编码后的字节解码成对应的明文



    注意: 用什么进行编码就要什么进行解码 不然后会懵逼!
     
     
  • 相关阅读:
    【BZOJ1930】[Shoi2003]pacman 吃豆豆 最大费用最大流
    【BZOJ3444】最后的晚餐 乱搞
    C语言的 32个关键之和9个控制语言之关键字
    10进制如何转二进制
    (转)这些开源项目,你都知道吗?(持续更新中...)[原创]
    如何将一个HTML页面嵌套在另一个页面中
    SNMP学习笔记之SNMPWALK 命令
    Linux学习笔记之Centos7设置Linux静态IP
    Linux学习笔记之Linux通过yum安装桌面
    Linux学习笔记之Linux启动级别
  • 原文地址:https://www.cnblogs.com/xintiao-/p/9407457.html
Copyright © 2011-2022 走看看