Python小数据池

2019-04-11  本文已影响0人  文超_96c7

一、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'

        编码方式:00000000 utf-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)

        解码:decode  把bytes,utf-8转换成unicode

s = '中国'

b = s.encode()

print(b)

a = b.decode('utf-8')

print(a)

        特别说明:如果内容都是英文,则解码时字符集可以随便输(或不输,默认UTF-8),因为英文都是ASICC码组成的。

上一篇下一篇

猜你喜欢

热点阅读