Rumah  >  Artikel  >  pembangunan bahagian belakang  >  String dan Trailing comma, dapatkan pasangan dan menjadi, Tuple (): Ralat salin & tampal kepada Ralat dan konsep

String dan Trailing comma, dapatkan pasangan dan menjadi, Tuple (): Ralat salin & tampal kepada Ralat dan konsep

WBOY
WBOYasal
2024-07-21 22:43:21828semak imbas

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

Hari ini, saya akan bercerita tentang kesilapan salin & tampal saya dan cara rentetan dengan koma mengekor digandingkan dan menjadi Tuple() dalam program Python saya. Anehnya, saya tidak menyedari konsep ini sebelum melakukan kesilapan ini.
Jadi, mari mulakan dengan belajar pantas tentang rentetan dan tupel dalam Python.

rentetan

Definisi: Urutan aksara yang digunakan untuk menyimpan dan memanipulasi teks.
Sintaks: Dilampirkan dalam petikan tunggal ' ', petikan berganda " " atau petikan tiga kali ganda ''' '''/""" """.
Ketidakbolehubah: Rentetan tidak boleh ditukar selepas penciptaan.

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

mystring2 =str()
print(type(mystring2))
#Output: <class 'str'>

Tuple

Definisi: Urutan nilai yang tidak boleh diubah.

Sintaks: Ditakrifkan dengan kurungan ( ), dipisahkan dengan koma.

Ketidakbolehubahan: Setelah dicipta, elemen tidak boleh diubah.

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

mytuple2 =tuple()
print(type(mytuple2))
#Output:<class 'tuple'>

Sekarang, kita tahu tentang rentetan dan tupel dan cara mendapatkan pembolehubah jenis rentetan atau tupel menggunakan sama ada tugasan langsung atau menggunakan pendekatan kelas dengan menggunakan pembina. Tetapi, cerita saya berbeza :).

Pernyataan Python tidak memerlukan koma bertitik (;) atau koma (,) atau sebarang simbol penutup lain (jarak digunakan untuk mengendalikan blok), jadi bagaimana anda boleh menamatkan koma mengekor dengan rentetan seperti "Ajit Kumar", kerana selalunya anda menyalin elemen rentetan daripada senarai kamus dan selalunya berakhir dengan koma di belakang. Inilah yang berlaku kepada saya dan kemudian cerita menjadi menarik.

Rentetan dengan koma mengekori

Jadi, mula-mula beri contoh stroy saya.

mymistake = "Ajit Kumar",
print(type(mymistake))
#Output : <class 'tuple'>

Kini, terdapat dua perkara yang perlu diperhatikan:
1) Jurubahasa Python tidak akan membuang sebarang ralat kerana koma mengekori dengan rentetan 'mymistake', jika tidak ralat tidak akan berlaku lagi.

2) Jenis pembolehubah menjadi 'tuple' daripada niat asal untuk mencipta pembolehubah rentetan kesilapan saya.

Saya menulis di sini dan nampaknya sangat mudah dan ringkas, tetapi ia mengambil masa berjam-jam untuk menyahpepijat ralat ini, kerana saya menghantar rentetan sebagai hujah kepada kaedah dan ralatnya pelik dan saya terus mengusahakan kaedah dan cuba memahami mesej ralat. Sebagai contoh, mesej itu seperti, pembolehubah 'nama' tidak mempunyai kaedah lower().

Isu

Jika anda menggunakan koma tanpa kurungan, Python menganggapnya sebagai tuple.

Contoh: mymistake = "Ajit Kumar", mencipta tuple ("Ajit Kumar",).

Jadi, jika anda ingin mencipta tupel yang hanya mempunyai item/elemen, anda perlu berhati-hati. Mengikuti contoh, tunjukkan bahawa, dalam contoh pertama, walaupun item berada dalam sepasang kurungan (1), ular sawa menganggapnya sebagai integer dan bukan tuple.

singleitem = (1)
print(type(singleitem))
#Output: <class 'int'>

Jadi, untuk membuat tuple dengan satu item , anda mesti perlu menggunakan koma di belakang, seperti berikut:

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

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

Dan, saya fikir, inilah sebab mengapa apabila rentetan mempunyai koma mengekori jadi python mengambilnya sebagai tupel dan mencipta pembolehubah sebagai tupel bukan sebagai rentetan.

Walau bagaimanapun, dokumentasi Python telah menyebutnya dengan jelas dan kesilapan saya atau kecuaian saya menyebabkan saya tidak menyedarinya dan sentiasa menggunakan () untuk mencipta tuple walaupun untuk satu item dengan koma latihan. Sumber

Apa pun, ini memberi saya beberapa pembelajaran baharu dan jalan pintas untuk mencipta tuple dengan item tunggal atau lebih item tanpa menggunakan (). Ya, saya teruskan cuba menggunakan "koma belakang" dengan lebih banyak item untuk membuat tupel dan ia berjaya. Contoh:

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

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

Memang banyak pembelajaran pada hujung minggu. Saya harap, ia akan membantu anda. Letakkan perbincangan dan cadangan anda dalam komen. Saya suka mendengar tentang pintasan Python dan ciri luar kotak.

Atas ialah kandungan terperinci String dan Trailing comma, dapatkan pasangan dan menjadi, Tuple (): Ralat salin & tampal kepada Ralat dan konsep. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:[python] lalaiArtikel seterusnya:[python] lalai