python进阶:数据类型转换

在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来使用,这样做有利有弊,当你见到这样的代码,你知道它就可以了,并不推荐你这么去写,以为这并不容易立马看懂。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章