Python小知識:如何在Python 3中轉換資料型別
寫在前面:
在Python中,資料型別用於對一種特定型別的資料進行分類,確定可以分配給該型別的值以及可以對其執行的操作。
這裡主要講述轉換數字,字串,元組和列表,並提供示例以幫助各位熟悉不同的用例。
轉換數字型別
在Python中,有兩種數字資料型別:整數和浮點數或浮點數。
將整數轉換為浮點數
Python的方法float()會將整數轉換為浮點數。要使用此功能,請在括號內新增一個整數:
float(57)
在這種情況下, 57將轉換為57.0 。
您也可以將其與變數一起使用。讓我們宣告f等於57 ,然後列印出新的float:
f = 57
print(
float(f))
Output 57.0透過使用
float()函式,我們可以將整數轉換為浮點數。
將浮點數轉換為整數
Python還有一個內建函式將float轉換為整數:int() 。
int()函式的作用類似於float()函式:在括號內新增一個浮點數,以將其轉換為整數:
int(390.8)
在這種情況下, 390.8將轉換為390 。
也可以將其與變數一起使用。讓我們宣告b等於125.0 , c等於390.8 ,然後列印出新的float:
b =
125.0
c =
390.8
print(
int(b))
print(
int(c))
Output
125
390
當使用int()函式將浮點數轉換為整數時,Python會截斷浮點數的小數和剩餘數字以建立一個整數。即使我們可能希望將390.8舍入為391,Python也不會透過int()函式來完成此操作。
數字轉換為除法
在Python 3中,相關的商在進行除法運算時會從整數轉換為浮點數,儘管它們不在Python 2中 。也就是說,將5除以2時,在Python 3中,會得到一個浮點數(2.5):
a =
5 /
2
print(a)
Output
2
.5
在Python 2中,由於要處理兩個整數,因此將會收到一個整數作為答案,而不是:5 / 2 = 2 。
用字串轉換
字串是一個或多個字元(字母,數字,符號)的序列。字串是計算機程式中資料的一種常見形式,我們可能需要經常將字串轉換為數字或將數字轉換為字串,尤其是在接收使用者生成的資料時。
將數字轉換為字串
我們可以使用str()方法將數字轉換為字串。我們將數字或變數傳遞到方法的括號中,然後該數字值將轉換為字串值。
讓我們首先看一下轉換整數。要將整數12轉換為字串值,可以將12傳遞給str()方法:
str(12)
在終端視窗中使用python命令在Python互動式外殼中執行str(12)時,將收到以下輸出:
Output
數字12周圍的引號表示該數字不再是整數,而是一個字串值。
使用變數,我們可以開始瞭解將整數轉換為字串的實用性。假設我們要跟蹤使用者的日常程式設計進度,並輸入他們一次編寫多少行程式碼。我們希望向使用者顯示此反饋,並將同時列印出字串和整數值:
user =
"Sammy"
lines =
50
print(
"Congratulations, " + user +
"! You just wrote " +
lines +
" lines of code.")
當我們執行此程式碼時,我們收到以下錯誤:
Output
我們無法在Python中連線字串和整數,因此我們必須將變數lines轉換為字串值:
user =
"Sammy"
lines =
50
print(
"Congratulations, " + user +
"! You just wrote " + str(
lines) +
" lines of code.")
現在,當我們執行程式碼時,我們收到以下輸出,祝賀我們的使用者前進:
Output
Congratulations, Sammy! You just wrote
50
lines of code.
如果希望將浮點數轉換為字串,而不是將整數轉換為字串,請遵循相同的步驟和格式。當我們將float傳遞給str()方法時,將返回float的字串值。我們可以使用float值本身或變數:
print(str(
421.034))
f =
5524.53
print(str(f))
Output
421
.034
5524
.53
我們可以透過連線一個字串來測試以確保它是正確的:
f =
5524.53
print(
"Sammy has " + str(f) +
" points.")
Output
我們可以確定我們的浮點數已正確轉換為字串,因為連線已正確執行。
將字串轉換為數字
可以使用int()和float()方法將字串轉換為數字。
如果您的字串沒有小數位,您很可能希望使用int()方法將其轉換為整數。
讓我們以使用者Sammy跟蹤每天編寫的程式碼行為例。我們可能希望透過數學操作這些值,以為使用者提供更多有趣的反饋,但是這些值當前儲存在字串中:
lines_yesterday =
"50"
lines_today =
"108"
lines_more = lines_today - lines_
yesterday
print(lines_more)
Output
TypeError: uns
由於兩個數值儲存在字串中,因此我們收到了錯誤訊息。運算元-減法不是兩個字串值有效的運算元。
讓我們修改程式碼以包括int()方法,該方法會將字串轉換為整數,並允許我們使用原始字串的值進行數學運算。
lines_yesterday =
"50"
lines_today =
"108"
lines_more =
int(lines_today) -
int(lines_yesterday)
print(lines_more)
Output
58
變數lines_more自動是一個整數,在此示例中,它等於數值58。
我們還可以使用float()方法代替int()方法,將上述示例中的數字轉換為float值。而不是接收58的輸出,我們將接收58.0的輸出,即浮點數。
使用者Sammy用十進位制值贏得積分
total_points =
"5524.53"
new_points =
"45.30"
new_total_points = total_points + new_pointsprint(new_total_points)
Output
在這種情況下,將+運算元與兩個字串一起使用是有效的操作,但它是將兩個字串連線在一起,而不是將兩個數值加在一起。因此,我們的輸出看起來很不尋常,因為它只是將兩個值彼此相鄰放置。
在使用float()方法執行任何數學運算之前,我們希望將這些字串轉換為浮點數:
total_points =
"5524.53"
new_points =
"45.30"
new_total_points =
float(total_points) +
float(new_points)
print(new_total_points)
Output
5569
.83
現在,我們已經將兩個字串轉換為浮點數,我們收到了將45.30新增到5524.53的預期結果。
如果我們嘗試將帶小數位的字串值轉換為整數,則會收到錯誤訊息:
f =
"54.23"
print(
int(f))
Output
如果將字串中的十進位制值傳遞給int()方法,則會收到錯誤訊息,因為它不會轉換為整數。
將字串轉換為數字使我們能夠快速修改正在使用的資料型別,以便我們可以對最初轉換為字串的數值執行操作。
轉換為元組和列表
可以使用方法list()和tuple()將傳遞給它們的值分別轉換為list和tuple資料型別。在Python中:
- 列表是包含在方括號[ ]的可變的有序元素序列。
- 元組是括號( )包含的元素的不可變有序序列。
轉換為元組
從列表轉換為元組開始。
將列表轉換為元組是一種不可變的資料型別,因此可以對我們建立的程式進行實質性的最佳化。當我們使用方法tuple() ,它將返回傳遞給它的值的元組版本。
print(tuple(['pull request', 'open source', 'repository', 'branch']))
Output
我們看到輸出中已列印出一個元組,因為這些項現在包含在括號中而不是方括號中。
讓我們將tuple()與代表列表的變數一起使用:
sea_creatures = [
'shark',
'cuttlefish',
'squid',
'mantis shrimp']
print(tuple(sea_creatures))
Output
再次,我們看到列表值更改為元組值,由括號表示。我們可以將任何可迭代型別轉換為元組,包括字串
print(tuple('Sammy'))
Output
因為我們可以遍歷字串,所以可以使用tuple()方法將它們轉換為元tuple() 。但是,對於不可迭代的資料型別,例如整數和浮點數,我們將收到型別錯誤:
print(tuple(5000))
Output
儘管可以將整數轉換為字串,然後轉換為元組,如tuple(str(5000)) ,但最好選擇可讀程式碼,而不要進行復雜的轉換。
轉換為列表
當需要該值的可變版本時,將值(尤其是元組)轉換為列表會很有用。
我們將使用list()方法將以下元組轉換為列表。因為建立列表的語法使用括號,所以請確保包括list()方法的括號,在這種情況下, print()方法:
print(list(('blue coral', 'staghorn coral', 'pillar coral')))
Output
方括號表示已透過list()方法傳遞的原始元組值返回了list() 。
為了使程式碼更具可讀性,我們可以使用變數來刪除一對括號中的一對:
coral = (
'blue coral',
'staghorn coral',
'pillar coral')
list(coral)如果我們列印
list(coral)我們將收到與上述相同的輸出。就像元組一樣,字串也可以轉換為列表:
print(
list(
'shark'))Output在這裡,字串
'shark'被轉換為列表,提供了原始值的可變版本。 結論該Python教程演示瞭如何主要透過內建方法將幾種重要的本機資料型別轉換為其他資料型別。能夠在Python中轉換資料型別為您在編寫程式時提供了額外的靈活性。
有不清楚的地方,大家可以留言!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69923331/viewspace-2724001/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python資料型別相關知識Python資料型別
- Python3 資料型別轉換Python資料型別
- python 與 Mysql 資料型別轉換PythonMySQL 資料型別
- python的基礎資料型別有哪些知識Python資料型別
- Python基礎之集合和資料型別轉換Python資料型別
- 資料型別,型別轉換資料型別
- Java註釋,識別符號,資料型別,型別轉換Java符號資料型別
- 【python】str與json型別轉換PythonJSON型別
- 資料型別轉換資料型別
- 『無為則無心』Python基礎 — 11、Python中的資料型別轉換Python資料型別
- Python小知識Python
- 必考知識點-JavaScript型別轉換(講原理)JavaScript型別
- Python中常見的資料型別轉換函式有哪些?Python基礎入門Python資料型別函式
- Java資料型別及型別轉換Java資料型別
- Python資料型別Python資料型別
- JavaScript 資料型別轉換JavaScript資料型別
- javascript資料型別轉換JavaScript資料型別
- 【Java】資料型別轉換Java資料型別
- 資料型別及轉換資料型別
- 3. php資料型別、資料型別轉換PHP資料型別
- 史上最全的 Python 3 型別轉換指南Python型別
- 5000字2021最新Python基礎知識第一階段:資料型別Python資料型別
- Python之資料型別Python資料型別
- python基本資料型別Python資料型別
- Python資料型別3Python資料型別
- JS資料型別的轉換JS資料型別
- JS中資料型別轉換JS資料型別
- 2、java資料型別轉換Java資料型別
- JavaScript 基本資料型別轉換JavaScript資料型別
- 將json資料轉換為Python字典將json資料轉換為Python字典JSONPython
- 【API知識】型別轉換工具ConvertUtils引發的思考API型別
- js資料型別重要知識整理JS資料型別
- java基礎知識--資料型別Java資料型別
- scala和java資料型別轉換Java資料型別
- JavaScript 隱式資料型別轉換JavaScript資料型別
- JS裡的資料型別轉換JS資料型別
- JS 裡的資料型別轉換JS資料型別
- go語言資料型別轉換Go資料型別