zoukankan      html  css  js  c++  java
  • is 和 == 区别

      • == 和 is 的区别
        • == 比较 比较的是两个值
          • 适用于
            • 列表
              ​a = '[1:2]'
              b = '[1:2]'
              print(a == b) #True​​​​
            • 字典
              a = '{1,2,3}'
              b = '{1,2,3}'
              print(a == b) # Ture
            • 元组
              ​a = '(1,2)'
              b = '(1,2)'
              print(a == b) #True​​
            • 字符串
              ​a = 'abc'
              b = 'abc'
              print(a == b) #True
            • int
              a = '123'
              b = '123'
              print(a == b) #True ​
        • is 比较 比较的是内存的地址
          • 适用于
            • int
              a = '123456'
              print(id(a))​#123456789(id地址)
            • str
              a = 'a,s,d,f'
              print(id(a))#123456789( id地址 )
            • 字典
              a = '{1:2}'
              print(id(a))#123456789(id 地址)
            • tuple 元组
              a = '(1,2)'
              print(id(a))#123456789(id 地址)
            • 列表
              a = '[1,2,3]'
              print(id(a))#123456789(id 地址)
        • 数字小数据池的范围是 -5——256
        • 字符串中如果有特殊字符那么他们的地址就不会一致
        • 字符串中单个*20以内,他们的地址一致,单个*21以上的内存地址不一致
        • 编码和解码
          • 各种码
            • ascii 码
              • 不支持中文
              • 支持 英文 数字 符号
              • 8位 一个字节
            • gbk
              • 支持 中文 英文 数字 符号
              • 英文 16位 两个字节
              • 中文 16位 两个字节
            • unicode 万国码
              • 支持 中文 英文 数字 符号
              • 英文 32位 4个字节
              • 中文 32位 4个字节
            • utf—8
              • 长度可变的万国码
              • 英文8位
              • 中文24位
          • encode(编码方式)-------拿到明文编码后对应的字节
          • decode(编码方式)-------将编码后的字节解码成对应的明文
            • s = '饿了吗'
              print(s.encode('gbk')) #把饿了吗 编码成 gbk 的字节 输出的是 b'xb6xf6xc1xcbxc2xf0'
            • s = '饿了吗'
              print(s.encode('utf-8')) #把 饿了吗 编码成utf-8 的字节 输出的是b'xe9xa5xbfxe4xbax86xe5x90x97'
          • 编码和解码 用什么进行编的码就要用什么解码
            • 例子
              s = '饿了吗'
              print(s.encode('utf-8'))​ #得到的是 utf-8 编的码
              s1 = s.encoode('utf-8') #​将 utf-8 编的码赋值给s1
              print(s1.decode('utf-8')) #输出 饿了吗 将 utf-8 编的码对应 utf-8 进行解码​
      • is 是 比较 比较的是内存地址
        a = 'alex'
        b = 'alex'
        print(a is b) 输出是Fales​​
      • 编码
        • python3中 程序运行阶段,使用的都是uniclode的
        • 传输和存储都是使用bytes
  • 相关阅读:
    ASP.NET 使用Ajax(转)
    使用Docker,很多坑(之一):在windows中使用
    .NET Core 各种学习资源
    docker-compose.yml配置文件详解(转)
    英雄无敌王国刷将脚本
    Valid format values for declare-styleable/attr tags[转]
    no Session问题,即延迟加载
    适配器模式--Adapter Pattern
    策略模式--Strategy
    装饰模式--Decorator Pattern
  • 原文地址:https://www.cnblogs.com/lzqrkn/p/9409983.html
Copyright © 2011-2022 走看看