zoukankan      html  css  js  c++  java
  • Python之基本数据类型

    可变数据类型:列表,字典,集合

    不可变数据类型(一创建,不能修改):整型,元组,字符串

    字符编码:

      ASCII编码。最多只能用8位来表示一个字节。ASCII编码最多只能表示255个符合。

      GB2312和GBK和GB18030。支持中文。

      Unicode万国码。搞全有。utf-32 = 4字节   utf-16 = 2字节   utf-8 = 8bits 可变长编码,英文一个字节,中文三个字节

      二进制位=bit(位)(最小表示单元)

      8bit = 1byte(字节)(最小存储单元)

        bytes    字节类型  (二进制类型)就是一个8bits的字节

            所有的字符要存到内存里,硬盘里,都是bytes格式。

            在py2中,看到的字符串都是bytes。str == bytes数据

                            Unicode == Unicode编码后二进制数据

            在py3中, str == Unicode

                 bytes == bytes数据

      在字符编码的转换过程是:先解码,decode,再编码,encode。

      所有的字符存在内存中,硬盘里,都是bytes类型。

       在Python2中,看到的字符串,都是bytes。

      

       字节数据和Unicode数据的区别:

                    print(repr())打印编码

                    字节数据:x 开头

                    Unicode数据:u 开头

    name = "George"
    name2 = b'Hello'   #字节数据
    
    print(type(name.encode('GBK')))    #编码
    print(type(name2.decode('utf-8')))  #解码 

      在Python2里,字节类型的数据可以和Unicode类型的数据,进行字符串拼接。

      在Python3里,两种不同的字节类型,不能进行拼接操作。

    Python3 不同字节类型的数据进行拼接的报错信息:

    TypeError: must be str, not bytes

    注意点:

        1、Unicode,utf-8,GBK 都是编码规则。

        2、为什么内存存储Unicode。

        3、程序执行前后的两个状态。

    进制转换:

        值      8  4  2  1

        二进制位   0  0  0  0  

      二进制:0 1

      八进制( Oct ):0 1 2 3 4 5 6 7

      十进制():0 1 2 3 4 5 6 7 8 9

      十六进制( 0x(前缀)或BH(后缀) ):0 1 2 3 4 5 6 7 8 9  A   B   C   D   E   F

                                  10  11   12  13  14  15

  • 相关阅读:
    URAL——DFS找规律——Nudnik Photographer
    URAL1353——DP——Milliard Vasya's Function
    URAL1203——DPor贪心——Scientific Conference
    递推DP HDOJ 5389 Zero Escape
    区间DP UVA 1351 String Compression
    树形DP UVA 1292 Strategic game
    Manacher HDOJ 5371 Hotaru's problem
    同余模定理 HDOJ 5373 The shortest problem
    递推DP HDOJ 5375 Gray code
    最大子序列和 HDOJ 1003 Max Sum
  • 原文地址:https://www.cnblogs.com/george92/p/7363660.html
Copyright © 2011-2022 走看看