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'\xb6\xf6\xc1\xcb\xc2\xf0'
          • s = '饿了吗'
            print(s.encode('utf-8')) #把 饿了吗 编码成utf-8 的字节 输出的是b'\xe9\xa5\xbf\xe4\xba\x86\xe5\x90\x97'
        • 编码和解码 用什么进行编的码就要用什么解码
          • 例子
            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

posted on 2018-08-02 21:17  你说我记  阅读(179)  评论(0编辑  收藏  举报

导航