先看一个例子:
prompt="您的数学成绩是:" print(type(prompt)) score=95.25 print(type(score)) print(prompt + score) #这里会报错。。。 print(prompt + str(score)) #这里经过转换后,就不会报错了^_^
在上面的例子中,一个字符串类型变量与一个小数类型的变量相加时,会报错。
但如果将小数类型的变量先转换为字符串类型,就不会报错了。
对于Python的基本数据类型,Python提供了一些方法,可以对不同的数据类型进行相互转换。方便我们的使用。
数字转字符串
str(a):假设a为一个数字型变量,该函数将变量a转换为字符串;
chr(b):假设b为一个整数,该函数根据ASCII表,将变量b转换为对应的字符串;
hex(c):假设c为一个整数,该函数将变量c转换为对应的十六进制字符串;
oct(d):假设d为一个整数,该函数将变量d转换为对应的八进制字符串;
a=95.25 print(str(a)) b=76 print(chr(b)) print(hex(30)) print(oct(30))
字符串转数字
int(a):假设a为一个字符串型变量,该函数将变量a转换为整数;
PS.这里的变量a必须是整数,如果带小数位,则会报错。
int("95.25") #错误
float(b):假设b为一个字符串型变量,该函数将变量b转换为浮点数;
PS.这里的变量b可以是整数,也可以是浮点数。
float("95") = 95.0
ord(c):假设c为一个长度为1的字符串型变量,该函数根据ASCII码表将变量c转换为对应的整数;
PS.这里的变量c的长度必须为1,否则会报错。
ord("Ld") #错误
数字转布尔
bool(a):假设a为数字型变量,该函数将变量a转换为布尔类型;
下面的值在作为布尔表达式时,会被解释器看作False,其他的值会被看作True:
- None;
- False;
- 任何为0的数字类型,如:0,0.0,0j;
- 任何空序列,如:”,(),[];
- 任何空字典,例如:{};
布尔转数字
int(a):假设a为布尔型变量,该函数将变量a转换为数字类型;
True —> 1
False —> 0
字符串转布尔
bool(a):假设a为字符串型变量,该函数将变量a转换为布尔类型;
PS.除了长度为0的空字符串外,其他所有字符串,都会被转为True.
布尔转字符串意义不大。