python學習中的類型轉換

Python中的數據類型轉換

 

將數據由當前類型變化爲其他類型的操作就是數據類型轉換。數據類型轉換分爲兩類,分別是自動數據類型轉換 和 強制數據類型轉換。

 

自動轉換(隱式轉換)

自動轉換時程序根據運算要求進行的轉換,不許要人工干預。

1.自動類型轉換不需要人工干預

2.自動類型轉換大多發生在運算或者判斷過程中

3.轉換時向着更加精確的類型轉換

 

示例代碼

newstring = 1.5

newnum = 1

print('newnum的類型是:',type(newnum),' newstring的類型是:',type(newstring))

newvalue = newstring + newnum #會向更精確的類型轉換,所以這裏應該是轉換爲浮點型

print('newstring + newnum = ',newvalue,'相加後的數據類型是:',type(newvalue))

輸出結果如下:

 

強制轉換(顯式轉換)

根據程序需要,由編寫程序人員人爲改變數據類型的方式,叫做強制數據類型轉換。

int() 將其他類型轉換爲整形

1.浮點類型轉換之後,捨去小數部分

2.布爾值轉換之後 True -> 1 False->0

3.字符串轉換,僅純整型字符串可以轉換(浮點型或者帶有其他字符都不可以轉換)

 

float() 將其他類型轉換爲浮點型

1.整型轉換之後變爲浮點型,後面+.0

2.布爾值轉換 True->1.0 False ->0.0

3.字符串,只有純整型字符串和純浮點型字符串可以轉換,其他都不可以

 

complex() 將其他類型轉換爲複數類型

1.整型轉換之後變爲 (整型+0j)

2.浮點型轉換之後變爲(浮點型 + 0j)

3.布爾值轉化之後 True->(1+0j) False(0j)

4.字符串,純整型和浮點型字符串可以轉化,其他都不可以

 

bool() 將其他類型轉換爲布爾類型

 

轉換爲布爾值False:

1.整型 0

2.浮點型 0.0

3.複數 0+0j

4.布爾 False

5.字符串 '' 空字符串

6.列表 [] 空列表

7.元組 ()空元組

8.字典 {} 空字典

9.集合 set() 空集合

 

除了以上這些,其他轉換爲布爾值都會得到True

str() 將其他類型轉換爲字符串類型

所有轉換均改變類型爲字符串,表示方式依舊不變

 

list() 將其他類型轉換爲列表類型

在Python中有5種可迭代序列,可以相互轉換,它們分別是:

 

字符串,列表,元組,字典,集合

示例代碼

var = ('張三','李四','王老五')

newvar = list(var)

#newvar的值爲 ['張三','李四','王老五']

 

'''註釋:

1.字符串轉換時每個字符變成列表中的一個值

2.字典類型轉換時,僅將字典的鍵部分轉換成列表,忽略值部分

'''

tuple() 將其他類型轉換爲元組類型

 

示例代碼

 

var = {'張三','李四','王老五'}

newvar = tuple(var)

#newvar的值爲 ('張三','李四','王老五')

 

'''註釋:

1.字符串轉換時每個字符變成元組中的一個值

2.字典類型轉換時,僅將字典的鍵部分轉換成元組,忽略值部分

'''

set() 將其他類型轉換爲集合類型

 

var = ['張三','李四','王老五']

newvar = set(var)

#newvar的值爲 {'張三','李四','王老五'} #值的順序不定

 

'''註釋:

1.字符串轉換時每個字符變成元組中的一個值

2.字典類型轉換時,僅將字典的鍵部分轉換成元組,忽略值部分

'''

dict() 將其他類型轉換爲字典類型

 

其他類型轉化爲字典時需要按照指定的格式纔可以轉化:(列表和元組的組合可以)

 

#var = [['cat', '黑貓警長'], ['mouse', '一隻耳'], ['next', '請看夏季']]

var = [('cat', '黑貓警長'), ('mouse', '一隻耳'), ('next', '請看夏季')]

#轉換後爲 {'cat': '黑貓警長', 'mouse': '一隻耳', 'next': '請看夏季'}

 

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