用示例解釋 Python 中的類型轉換和類型轉換

已發表: 2020-02-19

Python 有很多數據類型,作為程序員,你應該知道如何將 Python 的一種數據類型轉換為另一種數據類型。 Python 有許多用於此任務的內置函數。 在這個簡單的指南中,我們將看看它們以幫助您更好地理解類型轉換。

完成本指南後,您將知道如何將字符串轉換為整數,反之亦然。 所以事不宜遲,讓我們開始吧。

目錄

Python 中的數據類型

在開始討論 Python 中的類型轉換之前,讓我們簡要了解一下該語言中存在的所有數據類型:

整數

整數值可以任意長。 與數學一樣,Python 中的整數也是數字。 但是除非你有一台超級計算機,否則你不能擁有無限長的整數。 Python 將任何沒有前綴的數字視為整數。 這些數字也包括十進制數字。

浮點數字

Python 中的浮點數是用小數點書寫的數字,用於分隔小數位數和整數。 浮點數的一些示例是 4.3、9.18 等。您也可以在 Python 中為科學記數法添加“e”。

複數

Python 中的複數遵循以下格式:(實部 + 虛部)。 複數的一些示例是 (3+2i)、(8-2x) 等。

字符串

字符串可以是 Python 中的任何特定字符集。 它們被稱為str。 您可以使用引號來編寫它們。 您可以使用單引號和雙引號在 Python 中編寫字符串。 字符串可以是任何放在引號中的字符,例如“91”、“hello”等。

就像整數一樣,字符串中的字符長度沒有限制。 字符串有多種類型,例如三引號字符串、原始字符串等等。 但是,如果我們要開始討論字符串及其種類,這篇文章就太長了。

布爾數據類型

我們要討論的最後一個數據類型是布爾數據類型。 布爾數據可以具有兩個值之一,即真和假。 出於多種原因,布爾值在 Python 中非常重要。 您可以使用布爾值來確定對象和值的真實性。

閱讀:2020 年印度 Python 開發人員薪水

隨著您將了解更多關於 Python 中的邏輯運算符,您將不得不處理布爾對象和值。

所以這些都是 Python 中存在的所有數據類型。 詳細了解 Python 中的數據類型。 除了這些數據類型,Python 還有許多內置函數,可以幫助它執行各種任務。 我們還需要使用一些內置函數來實現類型轉換。 查看我們的數據科學計劃,了解各種類型的轉換。

現在我們已經討論了數據類型,我們可以繼續進行類型轉換。

Python 中不同類型的類型轉換

Python中有兩種類型轉換。 它們是:

隱式

在這種情況下,Python 會自動將一種數據類型轉換為另一種類型。 作為用戶,您不必參與此過程。 這是在 Python 中將整數隱式轉換為浮點數的示例:

num_int = 18

num_flo = 1.8

num_new = num_int + num_flo

print("num_int 的數據類型:",type(num_int))

print("num_flo 的數據類型:",type(num_flo))

print("num_new 的值:",num_new)

print("num_new 的數據類型:",type(num_new))

上述代碼的輸出如下:

num_int 的數據類型:<class 'int'>

num_flo 的數據類型:<class 'float'>

num_new 的值:19.8

num_new 的數據類型:<class 'float'>

如您所見,我們只需添加 num_flo 和 num_int 以及 num_new 即可獲得所需的輸出。 我們通過幾行代碼將整數 18 轉換為浮點數 19.8。 這裡要注意的重要一點是 Python 自動將整數轉換為浮點數。

顯式

在顯式類型轉換的情況下,我們使用函數進行轉換。 還記得我們之前提到的內置函數嗎? 它們將在本節中派上用場。 顯式類型轉換的另一個名稱是類型轉換。 它之所以具有此名稱,是因為您(用戶)轉換了相關對象的數據類型。

在 Python 中執行類型轉換時,您應該熟悉一些類型轉換函數。 Int(a,base) 是一個流行的函數,因為它可以將任何數據類型轉換為整數。 float() 可以將任何數據類型轉換為浮點數。 oct() 將整數轉換為八進製字符串,而 hex() 將整數轉換為十六進製字符串。

下面是使用 oct() 進行類型轉換的示例:

c = 八月(80)

打印(“輸出:”,結束=“”)

打印 (c)

輸出將是:

輸出:0o120

使用這些函數時,請記住此類轉換的語法應為:

(desired_datatype)(表達式)

您可以在 Python 中執行多種類型轉換。 但是,它們有兩種,您將執行得最多。 將字符串轉換為整數,反之亦然,這是一個很好的起點。 因此,讓我們分別討論這些類型轉換,以便更好地理解這個主題:

閱讀: Python 開發者項目的想法和主題

將字符串轉換為 int Python

您可以通過 int() 函數將字符串轉換為 int Python。 只需單擊一下即可為您提供十進制整數。 它假定您輸入的表達式是十進制整數,但如果不是,它將返回 ValueError。 我們不希望這樣。 您可以通過給值一個基數來提及您需要的數字系統以避免此問題。

因此,如果您在 Python 中將字符串轉換為 int,您可以這樣做:

整數(“5”)

或者,您可以為不同類型的字符串添加基礎:

整數(“5”,基數=10)

現在讓我們討論這種轉換的逆過程,即當您需要將整數轉換為字符串時。

將 int 轉換為字符串 Python

您可以使用 str() 函數將整數轉換為字符串。 只需遵循我們之前提到的語法:

字符串(5)

如果使用二進製文字,字符串可以將整數轉換為十進製表達式。 但是,就像使用 int 函數一樣,如果需要,您可以為不同的轉換添加更多信息。 使用此函數,您可以獲得八進制、二進制甚至十六進制的結果。

經過一些練習,您也可以使用類型轉換執行更複雜的任務。 這是通過類型轉換添加帶有整數的字符串的示例:

num_int = 256

num_str = “64”

print("num_int 的數據類型:",type(num_int))

print("類型轉換前 num_str 的數據類型:",type(num_str))

num_str = int(num_str)

print(“類型轉換後num_str的數據類型:”,type(num_str))

num_sum = num_int + num_str

print("num_int 和 num_str 之和:",num_sum)

print("求和的數據類型:",type(num_sum))

上面代碼的輸出是這樣的:

num_int 的數據類型:<class 'int'>

類型轉換前 num_str 的數據類型:<class 'str'>

類型轉換後 num_str 的數據類型:<class 'int'>

num_int 和 num_str 之和:320

和的數據類型:<class 'int'>

如您所見,這很有趣。 隨意嘗試類型轉換並擴展您的知識庫。

結論

我們希望您從這篇文章中學到了很多。 執行類型轉換是你可以用 Python 的函數做的許多事情之一。

如果你正在閱讀這篇文章,你很可能有成為一名 Python 開發者的雄心壯志。 如果您有興趣學習 python 並想親身體驗各種工具和庫,請查看 IIIT-B 的數據科學 PG 文憑。

在編碼中,顯式轉換與隱式轉換有何不同?

隱式類型轉換是由用戶定義的類型轉換,它強製表達式為特定類型。 當多個數據類型在一個表達式中組合在一起時,編譯器會執行隱式類型轉換。 顯式轉換,也稱為強制轉換,是指我們通過為我們希望轉換到的數據類型執行適當的函數來顯式地從一種數據類型轉換為另一種數據類型。 無需程序員的幫助,就可以完成隱式類型轉換。

類型轉換與類型轉換有何不同?

將一種數據類型轉換為另一種數據類型時,目標數據類型必須小於源數據類型。 但是,在將一種數據類型轉換為另一種數據類型時,源數據需要小於目標數據類型。 程序員必須手動將一種數據類型轉換為另一種類型。 將一種數據類型轉換為另一種數據類型不需要任何程序員干預,因為編譯器會在程序執行期間自動編譯它。 在類型轉換期間有可能會丟失數據或信息。 將小數據類型轉換為大數據類型時,數據不太可能丟失。

在 Python 元組或列表中哪個更有效?

元組是一個逗號分隔的 Python 對象集合,由於它的靜態特性,元組比列表更快。 元組在內存方面也比列表更有效。 在時間效率方面,元組比列表具有較小的優勢,尤其是在查找值時。 如果您有不應該首先更改的數據,則應該首選元組數據類型而不是列表。 我們可以製作一個元組列表,這意味著元組的成員可以包裝在一個列表中,因此遵循與 Python 列表相同的特徵。 因為 Python 元組佔用的空間更少,所以構造一個元組列表更實用。