首頁 > 後端開發 > Python教學 > 字串和尾隨逗號,耦合並成為,元組():複製貼上錯誤到錯誤和概念

字串和尾隨逗號,耦合並成為,元組():複製貼上錯誤到錯誤和概念

WBOY
發布: 2024-07-21 22:43:21
原創
874 人瀏覽過

String and Trailing comma, get couple and become, Tuple (): A copy & paste mistake to Error and concept

今天,我將講述一個關於我的複製和貼上錯誤的故事,以及如何在我的 Python 程式中將帶有逗號的字串耦合並成為 Tuple() 。奇怪的是,在犯這個錯誤之前我並不是沒有意識到這個概念。
那麼,讓我們開始快速學習 Python 中的字串和元組。

細繩

定義: 用於儲存和操作文字的字元序列。
語法: 用單引號 ' '、雙引號 " " 或三引號 ''' '''/""" """ 括起來。
不變性:字串建立後不能更改。

# Example
mystring = "Hello, World!"
print(type(mystring)) 
#Output: <class 'str'>

mystring2 =str()
print(type(mystring2))
#Output: <class 'str'>
登入後複製

元組

定義: 不可變的值序列。

語法: 用括號 ( ) 定義,用逗號分隔。

不變性:一旦創建,元素就無法更改。

# Example
mytuple = (1,2)
print(type(mytuple)) 
#Output:<class 'tuple'>

mytuple2 =tuple()
print(type(mytuple2))
#Output:<class 'tuple'>
登入後複製

現在,我們了解了字串和元組,以及如何使用直接賦值或使用建構子使用類別方法來取得字串或元組類型的變數。但是,我的故事不同:)。

Python 語句不需要分號(;) 或逗號(,) 或任何其他結束符號(空格用於處理區塊),因此如何以像“Ajit Kumar”這樣的字串結尾逗號,因為通常您從字典清單中複製字串元素,並且經常以尾隨逗號結尾。這就是發生在我身上的事情,然後故事變得有趣了。

帶有尾隨逗號的字串

所以,首先讓我們舉一個我的故事的例子。

mymistake = "Ajit Kumar",
print(type(mymistake))
#Output : <class 'tuple'>
登入後複製

現在,有兩件事要注意:
1) Python解釋器不會因為字串'mymistake'後面的逗號而拋出任何錯誤,否則錯誤不會進一步發生。

2)變數類型變成了“元組”,而不是創建字串變數的初衷我的錯誤。

我在這裡寫的,看起來非常簡單,但是花了幾個小時來調試這個錯誤,因為我將字串作為參數傳遞給方法,並且錯誤很奇怪,我繼續研究方法並試圖理解錯誤訊息。例如,訊息類似於「name」變數沒有 lower() 方法。

問題

如果使用不帶括號的逗號,Python 會將其視為元組。

範例:mymistake = "Ajit Kumar",建立一個元組 ("Ajit Kumar",)。

所以,如果你想建立一個只有項目/元素的元組,你需要非常小心。下面的範例證明,在第一個範例中,即使一個項目位於一對括號 (1) 內,Python 也會將其視為整數而不是元組。

singleitem = (1)
print(type(singleitem))
#Output: <class 'int'>
登入後複製

因此,要建立包含單一項目的元組,您必須使用尾隨逗號,如下所示:

singleitemtuple = (1,)
print(singleitemtuple)
#output:  (1,)

print(type(singleitemtuple))
#output:  <class 'tuple'>
登入後複製

而且,我認為,這就是為什麼當字串末尾有逗號時,Python 將其視為元組並將變數創建為元組而不是字串的原因。

但是,Python 文件已經清楚地提到了這一點,這是我的錯誤或疏忽,我沒有註意到它,並且一直使用() 來創建元組,即使對於帶有訓練逗號的單一項目也是如此。來源

無論如何,這給了我一些新的學習和一個快捷方式來創建一個包含單一項目的元組,或者不使用 () 的多個項目。是的,我繼續嘗試使用帶有更多項目的“尾隨逗號”來創建元組,並且它有效。例:

mylearning = "Ajit Kumar","April","python",
print(mylearning)
#output: ('Ajit Kumar', 'April', 'python')

print(type(mymistake))
#output:  <class 'tuple'>

登入後複製

週末學到了很多。我希望,這對你有幫助。將您的討論和建議寫在評論中。我喜歡了解 Python 快捷方式和開箱即用的功能。

以上是字串和尾隨逗號,耦合並成為,元組():複製貼上錯誤到錯誤和概念的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板