进制转换
bool布尔类型与数字类型的相互转换
int,float 强转为 bool型———0—>>False 非零—>>True
# 数字类型的强制转换
# int,float强转为bool型 0--->>False 非零--->>True
print(bool(0), type(bool(0))) # False <class 'bool'>
print(bool(7), type(bool(7))) # True <class 'bool'>
print(bool(0.0), type(bool(0.0))) # False <class 'bool'>
print(bool(0.0007), type(bool(0.0007))) # True <class 'bool'>
bool 强转 int,float ———False—>>0 True—>>1
# bool强转int,float False--->>0 True--->>1
print(int(False), type(int(False))) # 0 <class 'int'>
print(int(True), type(int(True))) # 1 <class 'int'>
print(float(False), type(float(False))) # 0.0 <class 'float'>
print(float(True), type(float(True))) # 1.0 <class 'float'>
int与float之间相互转换
int 转 float————会直接添加一个0的小数
print(float(10), type(float(10))) # 10.0 <class 'float'>
float 转 int————会直接砍掉小数部分
print(int(7.77), type(int(7.77))) # 7 <class 'int'>
整数+浮点数 转为浮点数
print(10+7.7, type(10+7.7)) # 17.7 <class 'float'>
自动升级
数字类型复杂度
# 数字类型复杂度bool<int<float<complex
print(True+7, type(True+7)) # 8 <class 'int'>
print(True+7.77, type(True+7.7)) # 8.77 <class 'float'>
二进制、八进制、十进制、十六进制的相互转换
二进制以0b或者0B开头—>> 0 1 满二进一
print(0b1010) # 10
print(0B1010) # 10
2进制转换成8进制:oct(int(“number”,2))
print(oct(int("1111111", 2))) # 0o177
2进制转换成10进制:int(“number”,2)
print(int("1111111", 2)) # 127
2进制转换成16进制:hex(int(“number”,2))
print(hex(int("1111111",2))) # 0x7f
八进制以0o或者0O开头—>> 0~7 满八进一
print(0o06) # 6
print(0O012) # 10
8进制转换成2进制:bin(int(“number”,8))
print(bin(int("0o777", 8))) # 0b111111111
8进制转换成10进制:int(“number”,8)
print(int("0o777",8)) # 511
8进制转换成16进制:hex(int(“number”,8))
print(hex(int("0o1010",8))) # 0x208
十进制—>>0~9 满十进一
10进制转换成2进制:bin(number)
print(bin(777)) # 0b1100001001
10进制转换成8进制:oct(number)
print(oct(777)) # 0o1411
10进制转换成16进制:hex(number)
print(hex(777)) # 0x309
十六进制以0x或者0X开头—>> 0-9,A~F 满十六进一
print(0x0A) # 10
print(0X07) # 7
16进制转换成2进制:bin(int(“number”,16))
print(bin(int("0x777", 16))) #0b11101110111
16进制转换成8进制:oct(int(“number”,16))
print(oct(int("0x777",16))) #0o3567
16进制转换成10进制:int(“number”,16)
print(int("0x777",16)) # 1911
进制转换使用的函数
print(hex(10)) # 0xa
print(oct(10)) # 0o12
print(bin(10)) # 0b1010
ascll码表转十进制数字
ascll表网址: https://baike.baidu.com/item/ASCII/309296?fr=aladdin.
ascll表字符转十进制数字 :ord(“ascll字符”)
print(ord("w")) # 119
print(ord("?")) # 63
print(ord("%")) # 37
# 转成十进制之后,可以跟具十进制数转其他进制数,具体请看上边的进制转换