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來使用,這樣做有利有弊,當你見到這樣的代碼,你知道它就可以了,並不推薦你這麼去寫,以爲這並不容易立馬看懂。

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