进制
现代的计算机和依赖计算机的设备里都用到二进制(即0和1)来保存和表示数据,一个二进制表示一个比特(Bit)。
在二进制的基础上,计算机还支持八进制和十六进制这两种进制。
除了计算机里的进制以外,我们生活中经常用到的是十进制。
Python语言支持二进制、八进制、十六进制以及十进制的数字表示。
a=20 # 默认为十进制
b = 0b11101 # 以0b或0B开头的数字是二进制
c = 0o12 # 以 0o或0O开头的数字是八进制
d = 0x1A # 以 0x或0X开头的数字是十六进制(在十六进制的数字中A~F代表10~15)
进制转换
在计算机中,进制转换一般要先转为十进制,在转为其他进制。
a=20
# 将十进制数转为二进制用bin()
print(bin(a)) # 输出为0b10100
# 将十进制数转为八进制用oct()
print(oct(a)) # 输出为0o24
# 将十进制数转为十六进制用bin()
print(hex(a)) # 输出为0x14
# 将二进制,八进制,十六进制的数字转为十进制直接print()就行
数据类型转换
函数 | 说明 |
---|---|
int(x,y) | 将x转换为一个整数,y为进制说明,默认为空 |
float(x) | 将x转换为浮点数 |
str(x) | 将x转换为字符串 |
bool(x) | 将对象x转换为布尔值 |
print(int("123")) # 123 将字符串转换成为整数
# 注意在将字符串转为int型时,字符串中不能有非法字符
print(int(123.78)) # 123 将浮点数转换成为整数
print(int(True)) # 1 布尔值True转换成为整数是 1
print(int(False)) # 0 布尔值False转换成为整数是 0
print(int("21",8)) # 输出的结果是17.八进制的21,对应的十进制数字是17
print(int("F0",16)) # 输出的结果是240.十六进制的F0,对应的十进制数字是240
print(float(12)) # 12.0 将整数转换为浮点数
print(float('12.78')) # 12.78 将字符串‘12.78’转换为浮点数
print(str(15)) # 15 看起来没变化,只不过是将整数转为了字符串型
# 转换为字符串型,整数是例子,其他的也都能转
print(bool('')) # False
print(bool("")) # False
print(bool(0)) # False
print(bool({})) # False
print(bool([])) # False
print(bool(())) # False
print(bool(None)) # False
# 在python中,只有空字符串'',"",数字0,空字典{},空列表[],空元组(),和空数据None会被转换成为False,其他的都会被转换成为True