首頁 > 軟體

Python教學之型別轉換詳解

2022-08-17 18:00:11

Python 定義了型別轉換函數以將一種資料型別直接轉換為另一種資料型別,這在日常和競爭性程式設計中很有用。本文旨在提供有關某些轉換函數的資訊。

Python中有兩種型別轉換:

  • 隱式型別轉換
  • 顯式型別轉換

讓我們詳細討論它們。

隱式型別轉換

在 Python 中資料型別的隱式型別轉換中,Python 直譯器會自動將一種資料型別轉換為另一種資料型別,而無需任何使用者參與。要更清楚地瞭解該主題,請參閱以下範例。

例子:

x = 10

print("x is of type:",type(x))

y = 10.6
print("y is of type:",type(y))

z = x + y

print(z)
print("z is of type:",type(z))

輸出:

x is of type: <class 'int'>
y is of type: <class 'float'>
20.6
z is of type: <class 'float'>

正如我們所見,“z”的資料型別自動更改為“float”型別,而一個變數 x 是整數型別,而另一個變數 y 是浮點型別。浮點值沒有被轉換為整數的原因是由於型別提升允許通過將資料轉換為更廣泛的資料型別來執行操作而不會丟失任何資訊。這是python中隱式型別轉換的一個簡單案例。

顯式型別轉換

在 Python 中的顯式型別轉換中,資料型別由使用者根據需要手動更改。使用顯式型別轉換,存在資料丟失的風險,因為我們強制在某些特定資料型別中更改表示式。下面解釋了各種形式的顯式型別轉換:

1. int(a, base)

此函數將任何資料型別轉換為整數。如果資料型別是字串, 'Base' 指定字串的基數。

2. float()

該函數用於將任何資料型別轉換為浮點數

# 使用 int()、float() 演示型別轉換的 Python 程式碼

# 初始化字串
s = "10010"

# 列印字串轉換為 int base 2
c = int(s,2)
print ("After converting to integer base 2 : ", end="")
print (c)

# 列印字串轉換為浮點數
e = float(s)
print ("After converting to float : ", end="")
print (e)

輸出:

After converting to integer base 2 : 18
After converting to float : 10010.0

3. ord() : 該函數用於將字元轉換為整數。

4. hex(): 這個函數是將整數轉換為十六進位制字串

5. oct() : 這個函數是將整數轉換為八進位制字串

# 使用 ord()、hex()、oct() 演示型別轉換的 Python 程式碼

# 初始化整數
s = '4'

# 列印字元轉換為整數
c = ord(s)
print ("After converting character to integer : ",end="")
print (c)

# 列印整數轉換為十六進位制字串
c = hex(56)
print ("After converting 56 to hexadecimal string : ",end="")
print (c)

# 列印整數轉換為八進位制字串
c = oct(56)
print ("After converting 56 to octal string : ",end="")
print (c)

輸出:

After converting character to integer : 52
After converting 56 to hexadecimal string : 0x38
After converting 56 to octal string : 0o70

6. tuple() : 該函數用於轉換為元組

7. set() : 該函數返回轉換為 set 後的型別

8. list(): 該函數用於將任何資料型別轉換為列表型別

# 使用 tuple()、set()、list() 演示型別轉換的 Python 程式碼

# 初始化字串
s = 'geeks'

# 列印字串轉換為元組
c = tuple(s)
print ("After converting string to tuple : ",end="")
print (c)

# 列印字串轉換為設定
c = set(s)
print ("After converting string to set : ",end="")
print (c)

# 列印字串轉換為列表
c = list(s)
print ("After converting string to list : ",end="")
print (c)

輸出:

After converting string to tuple : ('g', 'e', 'e', 'k', 's')
After converting string to set : {'k', 'e', 's', 'g'}
After converting string to list : ['g', 'e', 'e', 'k', 's']

9. dict() : 該函數用於將順序為 (key,value) 的元組轉換為字典

10. str() : 用於將整數轉換為字串。

11. complex(real,imag) : 此函數將實數轉換為複數(real,imag)。

# 使用 dict()、complex()、str() 演示型別轉換的 Python 程式碼

# 初始化整數
a = 1
b = 2

# 初始化元組
tup = (('a', 1) ,('f', 2), ('g', 3))

# 列印整數轉換為複數
c = complex(1,2)
print ("After converting integer to complex number : ",end="")
print (c)

# 列印整數轉換為字串
c = str(a)
print ("After converting integer to string : ",end="")
print (c)

# 列印元組轉換為表示式字典
c = dict(tup)
print ("After converting tuple to dictionary : ",end="")
print (c)

輸出:

After converting integer to complex number : (1+2j)
After converting integer to string : 1
After converting tuple to dictionary : {'a': 1, 'f': 2, 'g': 3}

12. chr(number): 該函數將數位轉換為對應的ASCII字元。

# 將 ASCII 值轉換為字元
a = chr(76)
b = chr(77)

print(a)
print(b)

輸出:

LM 
_

到此這篇關於Python教學之型別轉換詳解的文章就介紹到這了,更多相關Python型別轉換內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com