Python中进制和数据类型转换

  1. 二、八、十六进制转换

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
      二进制:前缀,0b;0b11;每个位最大不能超过1
    八进制:前缀,0o;0o17;每个位最大不能超过7
    十六进制:前缀,0x;0x1f;每个位最大不能超过f
    # 注:在python2中0o和0开始的数字都是8进制

    # 手算转换
    2进制转换为8:从后向前3位一组进行
    2进制转换为16:从后向前4位一组进行
    2,8,16进制转换成十进制,都是按照幂次,然后相加进行计算
    10进制转换成2进制:除留余数法

    # 机算
    a=12 #10进制数
    bin(a) # 将10进制数转换成2进制
    oct(a) # 将10进制数转换成8进制
    hex(a) # 将10进制数转换成16进制
    注:当a不等于数字时会报错
  2. 数据类型之间的转换
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #转换函数
    msg=int(msg)
    # 将不是int型的变量转换成int型的变量
    # 其余类型写法相同,如float
    # 当被转换的msg不是纯数字会转换失败,报错
    msg=int(x,y)
    # 将字符串x,按照y进制转换成10进制数
    eg:
    msg=int('abc',16) # 将字符串'abc'按照16进制数转换成10进制数

    # 转换原因
    不同的数据类型有时候不能进行运算

    # True False
    在进行数据运算时,True=1,False=0;
    eg:
    print(True + 1) # 结果为2
  3. 转换成布尔值
    1
    2
    3
    4
    # 在数字里,只有0会被转换成False
    # 在字符串里只有空字符串会被转换成False,空格串也会被转换成True
    # None会被转换为False,eg:bool(None),打印出来是False
    # 空数据类型会被转换成False,如[],(),{}等