Python--day06--1,Python2和Python3的区别 2,= == is id(内容) 3,小数据池 4,各种编码的区别(小知识点汇总)

1,Python2和Python3的区别

  print  ‘abc’ 和print (‘abc’)在Python2.7及以后的2系列中都是正确了,而Python3以后的只有print ('abc')是正确的

 

python2的编码是ascii码

Python3的编码是utf-8

 

 2,= 赋值   == 比较值是否相等    is 比较,比较的是内存地址   id(内容)返回内容的id地址

  通过下面截图中的代码可得通过li1给li2赋值,并没有创建新的列表。通过li1 is  li2 返回true可得li1和li2指向的内存地址相同。

  id(内容)返回内容的id地址

3,小数据池(判断两个变量是否是同一个地址)

  数字  字符串   

  list dict tuple set  小数据池

  小数据池:如果数字范围在-5 -- 256范围内,则各个变量的数字相同则共用一个地址。 

  作用:在一定程度上节省内存空间

 

  a,数字

  数字的范围  -5 -- 256 

  b,字符串

  字符串:1,不能有特殊字符

      2,s*20 还是同一个地址,s*21以后都是两个地址

    c,一模一样的字符串,而且不包含特殊字符,也是同一个地址(暂时还不知道是什么原因)

 d,list dict tuple set都没有数据池,只有数字和字符串有

 4,各种编码的区别

  1,各个编码之间的二进制,是不能互相识别的,会产生乱码

  2,文件的存储,传输,不能是unicode(只能是utf-8 utf-16 gbk,gb2312,ascii等)

  3,Python3:str: 在内存中是用unicode编码,bytes类型

          传输的时候要先转换成utf-8,gbk,gb2313,ascii等

           (python2中的unicode编码是两个字节,而Python3中改为四个字节)

 

     对于英文:

            str :表现形式:s = 'alex'

               编码方式: 01010101  unicode

            bytes:表现形式:s = b'alex'

                编码方式:00010101   utf-8 gbk。。。

 

        对于中文:

            str:表现形式: s = '中国'

              编码方式:01010101 unicode

            bytes:表现形式:s = b'x\e91\e91\e01\e21\e31\e32'  

                    (这里可以看出中文是三个字节,所以是utf-8编码,

                      如果是四个字节则是Unicode编码,如果编码报错,

                      可以这样根据经验之谈判断编码方式)

               编码方式:00010101 utf-8 gbk。。。

 

        encode 编码,如何将str --> bytes

        字符串必须转换成bytes类型才能存储和传输

        (这篇博客前面讲了那么多就是为了引出这一句话)

        s1.encode('utf-8')将字符串转换成bytes类型,还可以设置编码方式

        表现形式是str转换成bytes类型,而实际上是Unicode编码转换成utf-8编码或gbk...

        s1.encode('中国‘)编码,encode就是编码

          将字符串转换成bytes类型。(中文形式)

          由截图可以看出一个中文字符用三个字节表示就是utf-8,两个字节就是gbk

 

 

 

面试心得:面试时和面试官聊的时候要是他问你的都会,而你聊的他不知道,他就会觉得你很牛逼,太白说像Python中的小数据池可能会成为装逼神器。

 

 

问问题的说话的方式很重要,比如你实习三个月的时候,问同事问题。

如果说你说:我这个问题研究了一个下午没看出来错在哪里,那就完了,等着卷铺盖走人吧。

要这样说了,我卡在这行代码了,哥,您帮我看看是不是栈这里出问题。

如果是女生自动忽略上述。

 

posted @ 2018-09-28 14:12  莱茵河的雨季  阅读(104)  评论(0)    收藏  举报