python 进制

1,占位符%s %d

name="我是%s,年龄%d,爱好%s"%("小飞侠",18,"打豆豆")
print(name)

2,中文转gbk编码

s='编号:100566'
a=s.encode('gbk')
print(a)
#输出b'\xb1\xe0\xba\xc5\xa3\xba100566'

3,gbk转中文

a=b'\xd6\xd0\xce\xc4'
b=a.decode('gbk')
print(b)
#输出为:中文

 4,bin(),hex(),oct()

10转2,10转16,10转8

# 十进制转换成二进制
num = 8
v = bin(num)
print(v)   ------0b1000------

# 十进制转换成八进制
num = 8
v = oct(num)
print(v)    ------0o10------

# 十进制转换成十六进制
num = 8
v = hex(num)
print(v)   ------0x8------

# 二进制转换成十进制
v1 = '0b1111'
result = int(v1,base=2)
print(result)   ------15------

# 八进制转换成十进制
v1 = '0o1111'
result = int(v1,base=8)
print(result)   ------585------

# 十六进制转换成十进制
v1 = '0x1111'
result = int(v1,base=16)
print(result)    ------4369------

 5 十进制转二进制列表

i=15
list=[i >>d & 1 for d in range(10)][::-1]
print(list)
# 算法采用的是移位(除2)取余的思想
# 此处不使用自带的bin()函数是因为bin()返回的是字符串
# 且bin(3) = '0b11', bin(4) = '0b100',返回的二进制数位数不同
# t是输入的int数据,n是保留的二进制位数
def bit_to_list(t, n):
    S = [0 for i in range(n)]    
    i = -1
    while t != 0:
        S[i] = t % 2
        t = t >> 1
        i -= 1
    return S

 

6 十六进制转二进制列表

i= 0x0D
list=[i >>d & 1 for d in range(8)][::-1]
print(list)

 

你可能感兴趣的:(python 进制)