簡體   English   中英

為什么 Python 不能打印 integer 並在不轉換的情況下將其串在一起?

[英]Why can't Python print an integer and string together without converting it?

num = 4
print(num + " other words")

在此代碼中,Python 將返回一個錯誤,即它無法打印 integer 和這樣的字符串 - 我知道可以將 int 轉換為帶有 str 的字符串,但為什么 ZA7F5F352326B927417B 不自動執行此操作?

Programiz編寫

類型轉換 將一種數據類型(整數、字符串、浮點數等)的值轉換為另一種數據類型的過程稱為類型轉換。 Python 有兩種類型轉換。

  1. 隱式類型轉換
  2. 顯式類型轉換

隱式類型轉換 在隱式類型轉換中,Python 自動將一種數據類型轉換為另一種數據類型。 此過程不需要任何用戶參與。

讓我們看一個示例,其中 Python 促進將較低數據類型(整數)轉換為較高數據類型(浮點數)以避免數據丟失。

 num_int = 123 num_flo = 1.23 num_new = num_int + num_flo print("datatype of num_int:",type(num_int)) print("datatype of num_flo:",type(num_flo)) print("Value of num_new:",num_new) print("datatype of num_new:",type(num_new))

當我們運行上述程序時,output 將是:

 datatype of num_int: <class 'int'> datatype of num_flo: <class 'float'> Value of num_new: 124.23 datatype of num_new: <class 'float'>

在上述程序中,

我們添加兩個變量 num_int 和 num_flo,將值存儲在 num_new 中。 我們將分別查看所有三個對象的數據類型。 在output中,我們可以看到num_int的數據類型是integer,而num_flo的數據類型是float。 此外,我們可以看到 num_new 具有浮點數據類型,因為 Python 總是將較小的數據類型轉換為較大的數據類型以避免數據丟失。

現在,讓我們嘗試添加一個字符串和一個 integer,看看 Python 是如何處理它的。

示例 2:添加字符串(較高)數據類型和整數(較低)數據類型

num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str:",type(num_str)) print(num_int+num_str)

當我們運行上述程序時,output 將是:

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

在上述程序中,

我們添加兩個變量 num_int 和 num_str。 從 output 可以看出,我們得到了 TypeError。 Python 在這種情況下無法使用隱式轉換。 但是,Python 為這些類型的情況提供了一種解決方案,稱為顯式轉換。

顯式類型轉換 在顯式類型轉換中,用戶將 object 的數據類型轉換為所需的數據類型。 我們使用 int()、float()、str() 等預定義函數來執行顯式類型轉換。

這種類型的轉換也稱為類型轉換,因為用戶轉換(更改)對象的數據類型。

句法:

 <required_datatype>(expression)

可以通過將所需的數據類型 function 分配給表達式來完成類型轉換。

示例 3:使用顯式轉換添加字符串和 integer

 num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str before Type Casting:",type(num_str)) num_str = int(num_str) print("Data type of num_str after Type Casting:",type(num_str)) num_sum = num_int + num_str print("Sum of num_int and num_str:",num_sum) print("Data type of the sum:",type(num_sum))

當我們運行上述程序時,output 將是:

 Data type of num_int: <class 'int'> Data type of num_str before Type Casting: <class 'str'> Data type of num_str after Type Casting: <class 'int'> Sum of num_int and num_str: 579 Data type of the sum: <class 'int'>

在上述程序中,

我們添加 num_str 和 num_int 變量。 我們使用 int() function 將 num_str 從 string(higher) 轉換為 integer(lower) 類型以執行加法。 將 num_str 轉換為 integer 值后,Python 能夠添加這兩個變量。 我們得到的 num_sum 值和數據類型是 integer。

它可以:

num = 4
print(f"{num} other words")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM