python 学习第6天,,一、python2和


一、python2和3的区别

    在python3中                      在python2中

    print(‘ab‘)方式打印内容()括号是必须要有的。       print ‘ab‘可以加可以不加。

    只有range                       有range还有xrange(生成器)

    用户交换用input                     用户交换用raw_input

二、赋值:

    比较值是否相等。

       is:比较的是内存地址。

       id:比较的id是否相同。

       ==:比较两个值是否相等。

      li1 = [1,2,3]
      li2 = li1
      print(id(li1),id(li2))

      print(li1 is li2)

三、小数据池

    在小数据池里的,数字的范围在 -5 --- 256之间。

      l2 = 6
      l3 = 6
      print(id(l2),id(l3))    id相同

      l2 = 600
      l3 = 600
      print(id(l2),id(l3))    id不同

    在小数据池里,字符串:1.不能有特殊字符,2.s*20还是同一个地址,s*21以后过都是两个地址。

      s1 = ‘a‘ * 20

      s2 = ‘a‘ * 20

      print(s1 is s2)  True

      s1 = ‘a‘ * 21

      s2 = ‘a‘ * 21

      print(s1 is s2)  False

    使用pycharm会不准,建议用终端尝试。列表、字典、元祖、集合没有这个概念。

四、bytes类型    

    1,各个编码之间的二进制,是不能互相识别的,会产生乱码。
    2,文件的储存,传输,不能是unicode(因为unicode是32位太大)只能是utf-8 utf-16 gbk,gb2312,asciid等

    对于英文:

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

        编码方式:00000001 unicode

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

        编码方式:00000000utf-8、gbk。。。。

    对于中文:

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

        编码方式:00000010 unicode

     bytes:表现形式:s = b‘\xe4\xb8\xad\xe5\x9b\xbd‘

        编码方式:00000010 utf-8、gbk....

    转换命令:  

        编码:encode 把str转换成bytes,unicode转换成utf-8或gbk  

        s = ‘中国‘

        print(s.encode(‘utf-8‘))

        print(s.encode(‘gbk‘))

        s2 = b‘alex‘

        print(s2)

python 学习第6天

评论关闭