Penjelasan terperinci kaedah rentetan python: pemprosesan data teks yang cekap
Python menyediakan kaedah rentetan yang kaya untuk mengendalikan objek rentetan seperti memformat, mencari, dan mengubah suai tanpa mengubah rentetan asal kerana rentetan tidak berubah. Artikel ini akan memperkenalkan beberapa kaedah rentetan python yang biasa digunakan dan menerangkannya dalam kombinasi dengan contoh.
Ciri -ciri rentetan
berdiri adalah sebahagian daripada bahasa pengaturcaraan dan salah satu jenis data yang paling biasa digunakan dalam Python. Mereka adalah urutan aksara Unicode yang tidak berubah yang boleh disertakan dalam tanda petikan tunggal, berganda atau tiga kali ganda. Ketidakhadiran bermakna bahawa sekali rentetan dibuat, ia tidak boleh diubahsuai secara langsung;Contoh rentetan dalam python:
greeting = "Hello, World!"
Nota: Tidak seperti Java atau bahasa pengaturcaraan lain, Python tidak menyokong jenis data watak. Jadi satu watak yang tertutup dalam petikan, seperti 'C', masih rentetan.
Gambaran keseluruhan kaedah rentetan
Sejak rentetan dianggap sebagai urutan dalam python, mereka melaksanakan semua operasi urutan seperti bergabung, kepingan, dan lain -lain:
>>> word = 'golden' >>> len(word) 6 >>> word + 'age' 'goldenage' >>> 'la' * 3 'lalala' >>>Di samping operasi urutan, terdapat banyak kaedah tambahan lain yang berkaitan dengan objek rentetan. Kaedah ini boleh digunakan untuk memformat rentetan, mencari substrings dalam rentetan lain, trim ruang, melakukan pemeriksaan tertentu pada rentetan yang diberikan, dan sebagainya.
Harus diperhatikan bahawa kaedah rentetan ini tidak mengubah suai rentetan asal; Kebanyakan kaedah rentetan hanya mengembalikan salinan rentetan yang diubahsuai atau nilai boolean.
Berikut adalah pengenalan terperinci kepada beberapa kaedah rentetan python, disertai dengan contoh.
Kaedah
untuk mengembalikan salinan rentetan yang diubahsuai
-
str.capitalize()
: Menukar watak pertama rentetan ke huruf besar dan selebihnya ke huruf kecil.>>> "i Enjoy traveling. Do you?".capitalize() 'I enjoy traveling. do you?' >>>
-
str.center(width[, fillchar])
: Mengembalikan rentetan berpusat, diisi dengan danfillchar
yang diberikan. Jikawidth
kurang daripada atau sama dengan panjang rentetan, rentetan asal dikembalikan.width
>>> sentence = 'i Enjoy traveling. Do you?' >>> len(sentence) 26 >>> sentence.center(31) ' i Enjoy traveling. Do you? ' >>> sentence.center(30) ' i Enjoy traveling. Do you? '
-
str.encode(encoding='utf-8', errors='strict')
: Mengembalikan rentetan yang dikodkan sebagai bait.akan dibangkitkan. Parameter Kata Kunci
Contoh:UnicodeEncodeError
menentukan cara mengendalikan kesilapan, sepertierrors
melemparkan pengecualian,strict
mengabaikan sebarang kesilapan yang dihadapi, dan lain -lain. Terdapat beberapa pilihan pengekodan lain yang tersedia.ignore
greeting = "Hello, World!"
-
* `str.format ( args, kwargs)` : Mengembalikan satu salinan rentetan di mana setiap medan pengganti digantikan dengan nilai rentetan parameter yang sepadan.
Contoh:
>>> word = 'golden' >>> len(word) 6 >>> word + 'age' 'goldenage' >>> 'la' * 3 'lalala' >>>
-
str.lower()
: Tukar semua aksara huruf besar dalam rentetan ke huruf kecil.Contoh:
>>> "i Enjoy traveling. Do you?".capitalize() 'I enjoy traveling. do you?' >>>
-
str.removeprefix(prefix, /)
: Menghapuskan awalan yang ditentukan pada permulaan rentetan, dan mengembalikan rentetan asal jika awalan tidak dapat dijumpai.Contoh:
>>> sentence = 'i Enjoy traveling. Do you?' >>> len(sentence) 26 >>> sentence.center(31) ' i Enjoy traveling. Do you? ' >>> sentence.center(30) ' i Enjoy traveling. Do you? '
-
str.removesuffix(suffix, /)
: Menghapuskan akhiran yang ditentukan pada akhir rentetan, dan mengembalikan rentetan asal jika akhiran tidak dapat dijumpai.Contoh:
>>> sentence = "i Enjoy traveling. Do you, 山本さん?" >>> sentence.encode() b'i Enjoy traveling. Do you, \xe5\xb1\xb1\xe6\x9c\xac\xe3\x81\x95\xe3\x82\x93?' >>> sentence.encode(encoding='ascii') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 27-30: ordinal not in range(128) >>> sentence.encode(encoding='ascii', errors='replace') b'i Enjoy traveling. Do you, ?????'
-
str.replace(old, new[, count])
: Gantikan semua substrings yang muncul dalam rentetan denganold
. Jika parameternew
disediakan, hanya substrings kejadiancount
yang diganti.count
>>> "I bought {0} apples and the cost {1:.2f} Ghana cedis.".format(2, 18.70) 'I bought 2 apples and the cost 18.70 Ghana cedis.' >>> "My name is {first_name}, and I'm a {profession}.".format(first_name='Ben', profession='doctor') "My name is Ben, and I'm a doctor." >>>
-
str.strip([chars])
: Mengembalikan rentetan baru di mana watak -watak yang ditentukan pada permulaan dan akhir rentetan asal telah dikeluarkan. Jika parameter tidak disediakan, ruang dikeluarkan secara lalai.chars
>>> 'i Enjoy traveling. Do you?'.lower() 'i enjoy traveling. do you?' >>>
-
str.title()
: Mempunyai huruf pertama setiap perkataan dalam rentetan dan huruf kecil selebihnya huruf.>>> 'i Enjoy traveling. Do you?'.removeprefix('i') ' Enjoy traveling. Do you?' >>>
-
str.upper()
: Tukar semua aksara dalam rentetan ke huruf besar.>>> 'i Enjoy traveling. Do you?'.removesuffix('Do you?') 'i Enjoy traveling. ' >>>
Kaedah untuk menyatukan dan berpecah rentetan
-
str.join(iterable)
: Concatenate rentetan dalam objek yang boleh dimatikan ke dalam rentetan baru. Jika objek yang boleh dimatikan mengandungi nilai bukan rentetan, pengecualian dibuang.TypeError
>>> 'i Enjoy traveling. Do you?'.replace('Enjoy','dislike') 'i dislike traveling. Do you?' >>> 'Things fall apart'.replace('a','e',1) 'Things fell apart' >>>
-
str.split(sep=None, maxsplit=-1)
: Pecahkan rentetan ke dalam senarai mengikut pemisah yang ditentukan.>>> word1 = ' whitespace '.strip() >>> word1 'whitespace' >>> word2 = 'exercise'.strip('e') >>> word2 'xercis' >>> word3 = 'chimpanze'.strip('acepnz') >>> word3 'him' >>>
bagaimana untuk menanyakan rentetan
-
str.count(sub[, start[, end]])
: Mengembalikan bilangan kali substring muncul dalam rentetan.sub
>>> 'i Enjoy traveling. Do you?'.title() 'I Enjoy Traveling. Do You?' >>>
-
str.find(sub[, start[, end]])
: Mengembalikan indeks lokasi di mana substring muncul untuk kali pertama dalam rentetan. Jika substring tidak dijumpai, kembali -1.sub
>>> 'i Enjoy traveling. Do you?'.upper() 'I ENJOY TRAVELING. DO YOU?' >>>
-
str.index(sub[, start[, end]])
: Mengembalikan indeks lokasi di mana substring muncul untuk kali pertama dalam rentetan. Jika substring tidak dijumpai, pengecualiandibuang. sub
ValueError
Contoh:>>> words = ["Accra", "is", "a", "beautiful", "city"] >>> ' '.join(words) 'Accra is a beautiful city' >>> names = ['Abe', 'Fred', 'Bryan'] >>> '-'.join(names) 'Abe-Fred-Bryan' >>>
: pulangan
: pulangan Jika semua aksara dalam rentetan adalah aksara ASCII atau rentetan kosong;
Jika rentetan mengandungi semua aksara perpuluhan dan mempunyai sekurang -kurangnya satu aksara;
Contoh: Contoh:
: pulangan
: Decode bait ke dalam rentetan.
Secara lalai, pengekodan adalah 'UTF-8', dan jika ralat berlaku, pengecualian adalah parameter kata kunci ralat yang menentukan bagaimana pengecualian dikendalikan.
Penguasaan dalam kaedah rentetan python adalah penting untuk pemprosesan data teks yang cekap. Python menyediakan banyak alat untuk melakukan manipulasi rentetan dengan mudah dan meningkatkan kecekapan pengaturcaraan.
cuba meramalkan output kod berikut:
anda boleh menjalankan kod dalam persekitaran interaktif python untuk mengesahkan jawapan anda. (bahagian Soalan Lazim ditinggalkan kerana terlalu lama dan tidak sepadan dengan matlamat asal pseudo. Kandungan FAQS boleh ditambah di tempat lain seperti yang diperlukan.) Atas ialah kandungan terperinci Kaedah rentetan python, dengan contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
str.endswith(suffix[, start[, end]])
: pulangan suffix
Jika rentetan berakhir dengan True
yang ditentukan; False
greeting = "Hello, World!"
str.isalnum()
: pulangan Jika rentetan mengandungi aksara alfanumerik dan mempunyai sekurang -kurangnya satu aksara; True
False
Contoh: >>> word = 'golden'
>>> len(word)
6
>>> word + 'age'
'goldenage'
>>> 'la' * 3
'lalala'
>>>
str.isalpha()
Jika semua aksara dalam rentetan adalah huruf dan mempunyai sekurang -kurangnya satu aksara;
True
Contoh: False
>>> "i Enjoy traveling. Do you?".capitalize()
'I enjoy traveling. do you?'
>>>
str.isascii()
Contoh: True
False
>>> sentence = 'i Enjoy traveling. Do you?'
>>> len(sentence)
26
>>> sentence.center(31)
' i Enjoy traveling. Do you? '
>>> sentence.center(30)
' i Enjoy traveling. Do you? '
str.isdecimal()
Contoh:
True
False
>>> sentence = "i Enjoy traveling. Do you, 山本さん?"
>>> sentence.encode()
b'i Enjoy traveling. Do you, \xe5\xb1\xb1\xe6\x9c\xac\xe3\x81\x95\xe3\x82\x93?'
>>> sentence.encode(encoding='ascii')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 27-30: ordinal not in range(128)
>>> sentence.encode(encoding='ascii', errors='replace')
b'i Enjoy traveling. Do you, ?????'
str.isnumeric()
True
False
>>> "I bought {0} apples and the cost {1:.2f} Ghana cedis.".format(2, 18.70)
'I bought 2 apples and the cost 18.70 Ghana cedis.'
>>> "My name is {first_name}, and I'm a {profession}.".format(first_name='Ben', profession='doctor')
"My name is Ben, and I'm a doctor."
>>>
: pulangan str.islower()
True
False
>>> 'i Enjoy traveling. Do you?'.lower()
'i enjoy traveling. do you?'
>>>
Jika semua aksara dalam rentetan dipermodalkan dan mempunyai sekurang -kurangnya satu aksara; str.isupper()
True
False
>>> 'i Enjoy traveling. Do you?'.removeprefix('i')
' Enjoy traveling. Do you?'
>>>
yang ditentukan; str.startswith(prefix[, start[, end]])
prefix
True
kaedah byte (bytes.decode ()) False
>>> 'i Enjoy traveling. Do you?'.removesuffix('Do you?')
'i Enjoy traveling. '
>>>
,
bytes.decode(encoding='utf-8', errors='strict')
Contoh:
UnicodeDecodeError
strict
ignore
Ringkasan replace
>>> 'i Enjoy traveling. Do you?'.replace('Enjoy','dislike')
'i dislike traveling. Do you?'
>>> 'Things fall apart'.replace('a','e',1)
'Things fell apart'
>>>
Cabaran

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Polimorfisme adalah konsep teras dalam pengaturcaraan berorientasikan objek Python, merujuk kepada "satu antara muka, pelbagai pelaksanaan", yang membolehkan pemprosesan bersatu pelbagai jenis objek. 1. Polimorfisme dilaksanakan melalui penulisan semula kaedah. Subkelas boleh mentakrifkan semula kaedah kelas induk. Sebagai contoh, kaedah bercakap () kelas haiwan mempunyai pelaksanaan yang berbeza dalam subkelas anjing dan kucing. 2. Penggunaan praktikal polimorfisme termasuk memudahkan struktur kod dan meningkatkan skalabilitas, seperti memanggil kaedah cabutan () secara seragam dalam program lukisan grafik, atau mengendalikan tingkah laku umum watak -watak yang berbeza dalam pembangunan permainan. 3. Polimorfisme pelaksanaan Python perlu memenuhi: Kelas induk mentakrifkan kaedah, dan kelas kanak -kanak mengatasi kaedah, tetapi tidak memerlukan warisan kelas induk yang sama. Selagi objek melaksanakan kaedah yang sama, ini dipanggil "jenis itik". 4. Perkara yang perlu diperhatikan termasuk penyelenggaraan

Iterator adalah objek yang melaksanakan kaedah __iter __ () dan __Next __ (). Penjana adalah versi Iterator yang dipermudahkan, yang secara automatik melaksanakan kaedah ini melalui kata kunci hasil. 1. Iterator mengembalikan elemen setiap kali dia memanggil seterusnya () dan melemparkan pengecualian berhenti apabila tidak ada lagi elemen. 2. Penjana menggunakan definisi fungsi untuk menghasilkan data atas permintaan, menjimatkan memori dan menyokong urutan tak terhingga. 3. Menggunakan Iterator apabila memproses set sedia ada, gunakan penjana apabila menghasilkan data besar secara dinamik atau penilaian malas, seperti garis pemuatan mengikut baris apabila membaca fail besar. NOTA: Objek yang boleh diperolehi seperti senarai bukanlah pengaliran. Mereka perlu dicipta semula selepas pemalar itu sampai ke penghujungnya, dan penjana hanya boleh melintasi sekali.

Kunci untuk menangani pengesahan API adalah untuk memahami dan menggunakan kaedah pengesahan dengan betul. 1. Apikey adalah kaedah pengesahan yang paling mudah, biasanya diletakkan dalam tajuk permintaan atau parameter URL; 2. BasicAuth menggunakan nama pengguna dan kata laluan untuk penghantaran pengekodan Base64, yang sesuai untuk sistem dalaman; 3. OAuth2 perlu mendapatkan token terlebih dahulu melalui client_id dan client_secret, dan kemudian bawa bearertoken dalam header permintaan; 4. Untuk menangani tamat tempoh token, kelas pengurusan token boleh dikemas dan secara automatik menyegarkan token; Singkatnya, memilih kaedah yang sesuai mengikut dokumen dan menyimpan maklumat utama adalah kunci.

Kaedah yang sama untuk melintasi dua senarai secara serentak dalam Python adalah menggunakan fungsi zip (), yang akan memasangkan beberapa senarai dalam rangka dan menjadi yang paling singkat; Jika panjang senarai tidak konsisten, anda boleh menggunakan itertools.zip_longest () untuk menjadi yang paling lama dan mengisi nilai yang hilang; Digabungkan dengan penghitungan (), anda boleh mendapatkan indeks pada masa yang sama. 1.Zip () adalah ringkas dan praktikal, sesuai untuk lelaran data berpasangan; 2.zip_longest () boleh mengisi nilai lalai apabila berurusan dengan panjang yang tidak konsisten; 3.enumerate (zip ()) boleh mendapatkan indeks semasa traversal, memenuhi keperluan pelbagai senario kompleks.

TypehintsinpythonsolvetheproblemofambiguityandpotentialbugsindynamiciallytypodeByallowingDeveloperStospecifyExpectedTypes.theyenhancereadability, enablearlybugdetection, andimprovetoLiaSareAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeSareadDeSareadDeSareadDeSareadDeSaread

Inpython, iteratorsareObjectsThatallowLoopingthroughCollectionsByImplementing__iter __ () dan__Next __ ()

Menegaskan adalah alat pernyataan yang digunakan dalam Python untuk menyahpepijat, dan melemparkan pernyataan apabila keadaan tidak dipenuhi. Sintaksnya adalah menegaskan keadaan ditambah maklumat ralat pilihan, yang sesuai untuk pengesahan logik dalaman seperti pemeriksaan parameter, pengesahan status, dan lain -lain, tetapi tidak boleh digunakan untuk pemeriksaan input keselamatan atau pengguna, dan harus digunakan bersamaan dengan maklumat yang jelas. Ia hanya tersedia untuk debugging tambahan dalam peringkat pembangunan dan bukannya menggantikan pengendalian pengecualian.

Untuk mewujudkan API moden dan cekap menggunakan Python, FastAPI disyorkan; Ia berdasarkan kepada jenis python standard yang diminta dan secara automatik dapat menghasilkan dokumen, dengan prestasi yang sangat baik. Selepas memasang FastAPI dan Asgi Server UVicorn, anda boleh menulis kod antara muka. Dengan menentukan laluan, menulis fungsi pemprosesan, dan data yang kembali, API boleh dibina dengan cepat. FastAPI menyokong pelbagai kaedah HTTP dan menyediakan sistem dokumentasi Swaggersui dan Redoc yang dihasilkan secara automatik. Parameter URL boleh ditangkap melalui definisi laluan, manakala parameter pertanyaan boleh dilaksanakan dengan menetapkan nilai lalai untuk parameter fungsi. Penggunaan rasional model Pydantic dapat membantu meningkatkan kecekapan dan ketepatan pembangunan.
