Python 基礎(chǔ)教程

Python 流程控制

Python 函數(shù)

Python 數(shù)據(jù)類型

Python 文件操作

Python 對(duì)象和類

Python 日期和時(shí)間

Python 高級(jí)知識(shí)

Python 參考手冊(cè)

Python 類型轉(zhuǎn)換

在學(xué)習(xí)Python中的類型轉(zhuǎn)換之前,您應(yīng)該了解  Python數(shù)據(jù)類型。

類型轉(zhuǎn)換

將一種數(shù)據(jù)類型(整數(shù),字符串,浮點(diǎn)數(shù)等)的值轉(zhuǎn)換為另一種數(shù)據(jù)類型的過(guò)程稱為類型轉(zhuǎn)換。Python有兩種類型的類型轉(zhuǎn)換。

  1. 隱式類型轉(zhuǎn)換

  2. 顯式類型轉(zhuǎn)換

隱式類型轉(zhuǎn)換

在隱式類型轉(zhuǎn)換中,Python自動(dòng)將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。此過(guò)程不需要任何用戶參與。

讓我們看一個(gè)示例,其中Python促進(jìn)將較低數(shù)據(jù)類型(整數(shù))轉(zhuǎn)換為較高數(shù)據(jù)類型(浮點(diǎn)數(shù))以避免數(shù)據(jù)丟失。

示例1:將整數(shù)轉(zhuǎn)換為浮點(diǎn)型

num_int = 123
num_flo = 1.23

num_new = num_int + num_flo

print("num_int的數(shù)據(jù)類型:",type(num_int))
print("num_flo的數(shù)據(jù)類型:",type(num_flo))

print("num_new的值:",num_new)
print("num_new的數(shù)據(jù)類型:",type(num_new))

當(dāng)我們運(yùn)行上面的程序時(shí),輸出將是:

num_int的數(shù)據(jù)類型: <class 'int'>
num_flo的數(shù)據(jù)類型: <class 'float'>

num_new的值: 124.23
num_new的數(shù)據(jù)類型: <class 'float'>

在上面的程序中

  • 我們將兩個(gè)變量num_intnum_flo 相加,并將值存儲(chǔ)在變量num_new 中。

  • 我們分別查看所有三個(gè)對(duì)象的數(shù)據(jù)類型。

  • 在輸出中,我們可以看到num_int的數(shù)據(jù)類型是 integer,num_flo的數(shù)據(jù)類型是一個(gè)float。

  • 另外,我們可以看到num_new具有float數(shù)據(jù)類型,因?yàn)?Python 總是將較小的數(shù)據(jù)類型轉(zhuǎn)換為較大的數(shù)據(jù)類型,以避免數(shù)據(jù)丟失。

現(xiàn)在,讓我們嘗試 一個(gè)字符串 和 一個(gè)整數(shù) 相加,并查看Python如何處理它。

示例2:字符串(較高)數(shù)據(jù)類型和整數(shù)(較低)數(shù)據(jù)類型的加法

num_int = 123
num_str = "456"

print("num_int的數(shù)據(jù)類型:",type(num_int))
print("num_str的數(shù)據(jù)類型:",type(num_str))

print(num_int+num_str)

當(dāng)我們運(yùn)行上面的程序時(shí),輸出將是:

num_int的數(shù)據(jù)類型: <class 'int'>
num_str的數(shù)據(jù)類型: <class 'str'>

Traceback (most recent call last): 
  File "python", line 7, in <module> 
TypeError: unsupported operand type(s) for +: 'int' and 'str'

在上面的程序中

  • 我們兩個(gè)變量num_int 和num_str相加。

  • 從輸出中可以看到,我們得到了 TypeError。在這種情況下,Python無(wú)法使用隱式轉(zhuǎn)換。

  • 但是,Python針對(duì)此類情況提供了一種解決方案,稱為“顯式轉(zhuǎn)換”。

顯式類型轉(zhuǎn)換

在“顯式類型轉(zhuǎn)換”中,用戶將對(duì)象的數(shù)據(jù)類型轉(zhuǎn)換為所需的數(shù)據(jù)類型。我們使用像預(yù)定義函數(shù) int(),float(),str()等進(jìn)行顯式類型轉(zhuǎn)換。

這種轉(zhuǎn)換類型也稱為類型轉(zhuǎn)換,因?yàn)橛脩魪?qiáng)制轉(zhuǎn)換(更改)對(duì)象的數(shù)據(jù)類型。

語(yǔ)法 :

<required_datatype>(expression)

可以通過(guò)將所需的數(shù)據(jù)類型函數(shù)分配給表達(dá)式來(lái)完成類型轉(zhuǎn)換。

示例3:使用顯式轉(zhuǎn)換將字符串和整數(shù)相加

num_int = 123
num_str = "456"

print("num_int的數(shù)據(jù)類型:",type(num_int))
print("類型轉(zhuǎn)換之前num str的數(shù)據(jù)類型:",type(num_str))

num_str = int(num_str)
print("類型轉(zhuǎn)換后的num str的數(shù)據(jù)類型:",type(num_str))

num_sum = num_int + num_str

print("num_int與num_str的和:",num_sum)
print("sum的數(shù)據(jù)類型:",type(num_sum))

當(dāng)我們運(yùn)行上面的程序時(shí),輸出將是:

num_int的數(shù)據(jù)類型: <class 'int'>

類型轉(zhuǎn)換之前num str的數(shù)據(jù)類型: <class 'str'>
類型轉(zhuǎn)換后的num str的數(shù)據(jù)類型: <class 'int'>

num_int與num_str的和: 579
sum的數(shù)據(jù)類型: <class 'int'>

在上面的程序中

  • 我們num_strnum_int變量相加。

  • 我們使用 int() 函數(shù)將num_str從 string(高)轉(zhuǎn)換為 integer(低)類型來(lái)執(zhí)行加法。

  • num_str轉(zhuǎn)換為整數(shù)后,Python可以對(duì)這兩個(gè)變量進(jìn)行相加。

  • 最后,我們得到num_sum值 和 以及該值得數(shù)據(jù)類型為整數(shù)。

要記住的要點(diǎn)

  1. 類型轉(zhuǎn)換是對(duì)象從一種數(shù)據(jù)類型到另一種數(shù)據(jù)類型的轉(zhuǎn)換。

  2. 隱式類型轉(zhuǎn)換由Python解釋器自動(dòng)執(zhí)行。

  3. Python避免了隱式類型轉(zhuǎn)換中的數(shù)據(jù)丟失。

  4. 顯式類型轉(zhuǎn)換也稱為類型轉(zhuǎn)換,用戶使用預(yù)定義的函數(shù)轉(zhuǎn)換對(duì)象的數(shù)據(jù)類型。

  5. 在類型轉(zhuǎn)換中,當(dāng)我們將對(duì)象強(qiáng)制為特定數(shù)據(jù)類型時(shí),可能會(huì)發(fā)生數(shù)據(jù)丟失。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清