python is 和 == 的区别、解码和编码 小数据池

一 、  is 和 ==

     (1)  is 是比较两边的内存地址

  

a=1
print(id(a))

b=1
print(id(b))

print(a is b)  # True

str='alex'
print(id(str))

str1='alex'
print(id(str1))

print(str is str1) # True

lst=[1,2,3]
print(id(lst))

lst1=[1,2,3]
print(id(lst1))

print(lst is lst1)  # True


    (2)  == 是比较两边的值是否相等

           a = 'alex'
           b = 'alex'
           print(a == b)   #True     

           a=10

           b=10

   print(a == b)   #True     

          上述形式只对数字和字符串有效,其他数据类型如列表、字典、元组则不适用

           

二、解码和编码

     (1)编码

    字符==>字节

    

1 s='alex'
2 m=s.encode('utf-8') # 指定编码方式

      (2)解码
              字节==>字符

             

1 s.decode('utf-8') #解码方式与编码方式相同


三、小数据池

        数字范围:-5~256

        含有特殊字符的相同字符串,内存地址不一样   #  特殊字符@ * & %等等

        单个字符串*20以内内存地址相同,21以外内存地址不同

          

             

              


 

    

原文地址:https://www.cnblogs.com/liaopeng123/p/9408559.html