在python中,数据类型的转换非常的简单只需要用相应的类型进行包裹即可,方式如下:
i = '45'
print(type(int(i)))
-----------------------------------------------------------------------
执行结果:
<class 'int'>
上边的代码用int()方法,将strl类型的“45”转换成int型的45,这将会非常有用,等你用到的时候你就会知道。
当然,你也可以马上使用它,在输出时进行字符串拼接。
str转int,当然int也可以转str:
i = 45
print(type(str(i)))
-----------------------------------------------------------------------
执行结果:
<class 'str'>
当然,类型的转换不仅限于int和str,请看下面的代码:
a = 5
b = 4.25
print(float(a))
print(float(b))
print(int(b))
print(str(b))
-----------------------------------------------------------------------
执行结果:
5.0
4.25
4
4.25
你可以进行各种转换,但是有时会有限制,比如下面的代码:
c = 'c'
print(int(c))
---------------------------------------------------------------------
执行结果:
ValueError: invalid literal for int() with base 10: 'c'
我让c等于字符"c",并且试图将c强转为int型数据,但是却产生了错误“值错误:以10为底的int()的无效文字:‘c’”,所以说在python中非数字字符数据是无法转换成int型数据的。
这和C/C++的结果是不同的,在C/C++中将一个字符转换成int型,就会将该字符转换为对应的ASCII码,事实上这更像是一种等价关系,你可以用一个字符代表一个数字,但是这样有时在程序中会让其他程序员一头雾水。请看下面的C语言代码:
#include<stdio.h>
int main(void){
int a = 100;
printf("%c\n", a);
char b = 'c';
printf("%d\n", b);
int c = 97;
if(c == 'a'){
printf("他们相等!\n");
}else{
printf("他们不相等!\n");
}
}
---------------------------------------------------------------------
执行结果:
d
99
他们相等!
由于字符’a’的ASCII码是97,所以它可以当作数字97来使用,这样做有利有弊,当你见到这样的代码,你知道它就可以了,并不推荐你这么去写,以为这并不容易立马看懂。