1. 程式人生 > >python中的數據類型轉換

python中的數據類型轉換

數學運算 取出 重復數據 部分 python 人工幹預 成了 普通 int()

今天想要寫的是python中比較簡單但是又相對重要的數據類型之間的互相轉換。所謂數據類型轉換其實很簡單,生活中就有很多的例子,比如:15+2.2=17.2,看著好像只是一次普通的數學運算,但是卻存在了一次數據類型之間的轉換。“15”在數據類型中被稱為整型,“2.2”在數據類型中則被稱之為浮點型,那麽在我們的程序中整型是沒辦法直接和浮點型的數據進行運算操作,這時候我們可愛的python就偷偷的將“15”轉化成了“15.0”的浮點型數據,這樣浮點型數據之間就可以做到運算等相關的操作,這就是我們首先要說的自動數據類型轉換。

首先我們要知道的是數據類型轉換分為自動數據類型轉換(隱式數據類型轉換)和強制數據類型轉換(顯式數據類型轉換)兩種。接下來第一個首當其沖要被拿來開刀的就是自動數據類型轉換。

所謂自動數據類型轉換很簡單啊,字面意思,系統自己偷偷地把數據進行合適的轉換。那麽自動數據類型轉換的特點吶,分為以下三點:

1.自動數據類型轉換由程序自動執行,不需要人工幹預

2.自動數據類型轉換多發生在運算和判斷過程中

3.自動數據類型轉換會向著更加精確的類型轉換

下面我們來舉個“栗子”簡單的看一下:

intvar = 15

floatvar = 2.2

#運算時整數15轉化成了浮點數15.0

result = intvar + floatvar

print(result)

亦或者是在判斷的時候:

if 0 :

  print(“我們都愛小餅餅,我喊小餅餅,你們說愛~”)

  print(“小餅餅~”)

  print(“愛~”)

這就是自動數據類型轉換的部分,那麽接下來就介紹一下我們的重頭戲吧,下面有請強制數據類型轉換登場,?(^?^*) (我將會以各種“栗子”的方式來介紹下面的所有類型)

1.int() 強制將其他數據類型轉換為整型:

(1).浮點數可以轉化為整型 --> 去掉小數的部分

(2).整型 --> 額。。。整型就是整型啦,不需要再進行轉換了

(3).布爾值:True --> 1 False --> 0

(4).復數:額,因為是虛擬的不存在的,所以無法進行強轉

(5).字符串:只有純整數的字符串才可以轉化為整型,其他的統統都不可以,即使你大爺是“馬爸爸”也不行哦

(6).那麽剩下的列表、元組、字典、集合也一樣很抱歉,你們長得太醜,int並不喜歡你們,所以也不會給你們進行強轉

2.float() 強制將其他數據類型轉化為浮點型

(1).整數轉換為浮點數 --> 在整數的末尾添加“.0”即可

(2).浮點數就是浮點數啦,不需要再轉換了

(3).布爾值 True --> 1.0 False --> 2.0

(4).復數還是老問題,沒法進行轉換

(5).字符串:純整型或者純浮點型字符串才可以轉換,其他的統統不可以

(6).列表、元組、字典、集合不僅不招int的待見,就連float都嫌棄他們,真可憐0.0

3.bool() 將其他數據類型轉換為布爾值

接下來的轉化為布爾值False的情況,其他的都是True:

(1).整型的 0

(2).浮點型的 0.0(註意,這是零點零,不是我發的表情= =)

(3).布爾值的 False

(4).復數的 0j 或者是 0+0j

(5).字符串的空字符串 ‘ ’

(6).列表中的空列表 [ ]

(7).元組的空元組 ( )

(8).字典中的空字典 { }

(9).集合中的空集合 set( )

4.complex() 將其他數據類型轉換為復數

(1).整型 --> 整數部分 + 0j

(2).浮點型 --> 浮點數部分 + 0j

(3).布爾值 --> True ==> 1 + 0j False ==> 0 + 0j

(4).復數:額還是老樣子,復數就是復數,不需要再轉換了

(5).字符串:純整型和純浮點型字符串可以轉化為復數,只需要在最後加上“0j”即可

(6).哎,列表、元組、字典、集合依舊無法轉換

5.str() 將其他數據類型轉化為字符串

str在所有的強制數據類型轉換中應該屬於老好人一樣的存在,因為所有類型的值都是可以直接轉換為字符串類型,值保持不變(也可以理解為在所有數據的兩側加了字符串的引號而已)

6.list() 將其他數據轉化為列表

(1).字符串:將字符串中的每個字符變成列表中的多個值(元素)

(2).元組:直接改變數據類型,括號由()變成 [ ] 即可

(3).集合:轉化為列表的時候順序是隨機的(因為集合本身就是無序的數據)

(4).字典:轉換為列表的時候順序同樣是隨機的,僅僅會將字典的鍵取出來組成列表

7.tuple() 將其他數據類型轉換為元組

(1).字符串:將字符串中的每個字符變成列表中的多個值(元素)

(2).列表:直接改變數據類型,括號由 [ ] 變成()

(3).集合:轉化為元組的時候順序是隨機的(還是因為集合本身是一堆無序的數據)

(4).字典:轉換為元組的時候順序也是隨機的,僅僅將字典的鍵取出來組成元組

8.set() 將其他數據類型轉換為集合

特點:所有轉化的結果順序隨機;所有重復數據只會保留一份

(1).字符串:字符串中的每個值轉化為集合中的值(去重)

(2).列表:列表中的每個值轉化為集合中的值(去重)

(3).字典:將字典的所有鍵組成集合即可

9.dict() 將其他數據類型轉換為字典

技術分享

python中的數據類型轉換