Senarai kaedah rentetan untuk memanipulasi huruf besar dan huruf kecil dalam Python

Perniagaan

Jenis rentetan Python (str) datang standard dengan kaedah yang mudah untuk memanipulasi huruf besar dan huruf kecil. Anda boleh menukar antara huruf besar dan huruf kecil dan menentukan huruf besar.

Maklumat berikut disediakan di sini.

  • Menukar antara huruf besar dan huruf kecil
    • Penggunaan asas
    • Pengendalian aksara saiz penuh dan separuh saiz
    • str.upper()Tukar semua huruf kepada huruf besar
    • str.lower()Tukar semua huruf kepada huruf kecil
    • str.capitalize()Tukar huruf pertama kepada huruf besar dan selebihnya kepada huruf kecil.
    • str.title()Tukar huruf pertama sesuatu perkataan kepada huruf besar dan selebihnya kepada huruf kecil.
    • str.swapcase()Tukar huruf besar kepada huruf kecil dan huruf kecil kepada huruf besar.
  • Tentukan huruf besar dan huruf kecil
    • str.isupper(): Tentukan sama ada semua huruf adalah huruf besar
    • str.islower(): Tentukan sama ada semua aksara adalah huruf kecil.
    • str.istitle(): Tentukan sama ada ia adalah kes tajuk.
  • Bandingkan rentetan dalam cara yang tidak peka huruf besar-besaran

Menukar antara huruf besar dan huruf kecil

Penggunaan asas

Pertama, saya akan menerangkan penggunaan asas. Kami akan menggunakan kaedah upper() untuk menggunakan huruf besar semua huruf sebagai contoh, tetapi perkara yang sama berlaku untuk kaedah lain.

Demi kemudahan, kami menulis “penukaran”, tetapi dalam Python, objek jenis rentetan (str) tidak boleh dikemas kini, jadi rentetan asal (s_org dalam contoh) itu sendiri tidak diubah.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.upper())
# PYTHON PROGRAMMING LANGUAGE

print(s_org)
# pYThon proGramminG laNguAge

Jika anda ingin menggunakan rentetan yang ditukar kemudian, anda boleh menyimpannya dalam pembolehubah baharu seperti berikut.

s_new = s_org.upper()
print(s_new)
# PYTHON PROGRAMMING LANGUAGE

Ia juga mungkin untuk menulis ganti pembolehubah asal.

s_org = s_org.upper()
print(s_org)
# PYTHON PROGRAMMING LANGUAGE

Pengendalian aksara saiz penuh dan separuh saiz

Jika aksara adalah sensitif huruf besar-besaran, seperti abjad, ia akan ditukar kepada kedua-dua aksara bait tunggal dan dua bait.

Aksara yang tidak sensitif huruf besar-besaran, seperti nombor dan aksara Cina, kekal tidak berubah. Contohnya adalah untuk upper(), tetapi perkara yang sama berlaku untuk kaedah lain.

s_org = 'Pyhon Python 123'

print(s_org.upper())
# PYHON PYTHON 123

str.upper(): menukar semua huruf kepada huruf besar

s_org = 'pYThon proGramminG laNguAge'

print(s_org.upper())
# PYTHON PROGRAMMING LANGUAGE

str.lower(): menukar semua aksara kepada huruf kecil

s_org = 'pYThon proGramminG laNguAge'

print(s_org.lower())
# python programming language

str.capitalize(): tukar huruf pertama kepada huruf besar, selebihnya kepada huruf kecil

s_org = 'pYThon proGramminG laNguAge'

print(s_org.capitalize())
# Python programming language

str.title(): menukar huruf pertama sesuatu perkataan kepada huruf besar dan selebihnya kepada huruf kecil

Penukaran kepada apa yang dipanggil kes tajuk.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.title())
# Python Programming Language

str.swapcase(): tukar huruf besar kepada huruf kecil, huruf kecil kepada huruf besar

Tukar huruf besar dan huruf kecil.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.swapcase())
# PytHON PROgRAMMINg LAnGUaGE

Tentukan huruf besar dan huruf kecil

Dalam contoh berikut, kaedah dipanggil terus daripada literal rentetan seperti ‘python’, tetapi perkara yang sama berlaku apabila disimpan dalam pembolehubah seperti dalam contoh sebelumnya.

str.isupper(): tentukan sama ada semua huruf adalah huruf besar

isupper() mengembalikan benar jika ia mengandungi sekurang-kurangnya satu aksara sensitif huruf besar dan kesemuanya adalah huruf besar, dan palsu sebaliknya.

print('PYTHON'.isupper())
# True

print('Python'.isupper())
# False

Jika aksara itu sensitif huruf besar-besaran, aksara dua bait pun akan dinilai.

print('PYTHON'.isupper())
# True

Jika walaupun satu aksara peka huruf besar kecil disertakan, aksara tidak peka huruf besar kecil akan diabaikan, tetapi jika tiada aksara sensitif huruf besar kecil disertakan (semua aksara adalah tidak sensitif huruf besar), keputusannya adalah palsu.

print('PYTHON 123'.isupper())
# True

print('123'.isupper())
# False

str.islower(): tentukan sama ada semua aksara adalah huruf kecil

islower() mengembalikan benar jika ia mengandungi sekurang-kurangnya satu aksara sensitif huruf besar dan kesemuanya adalah huruf kecil, dan palsu sebaliknya.

print('python'.islower())
# True

print('Python'.islower())
# False

Jika aksara itu sensitif huruf besar-besaran, aksara dua bait pun akan dinilai.

print('python'.islower())
# True

Jika walaupun satu aksara peka huruf besar kecil disertakan, aksara tidak peka huruf besar kecil akan diabaikan, tetapi jika tiada aksara sensitif huruf besar kecil disertakan (semua aksara adalah tidak sensitif huruf besar), keputusannya adalah palsu.

print('python 123'.islower())
# True

print('123'.islower())
# False

str.istitle(): Tentukan sama ada kes itu ialah kes tajuk.

istitle() mengembalikan benar jika rentetan ialah huruf besar tajuk (huruf pertama perkataan adalah huruf besar, selebihnya adalah huruf kecil), sebaliknya palsu.

print('Python Programming Language'.istitle())
# True

print('PYTHON Programming Language'.istitle())
# False

Jika ia mengandungi aksara tidak peka huruf besar-besaran, ia akan menjadi palsu jika aksara tidak sensitif huruf besar didahului oleh huruf kecil.

print('★Python Programming Language'.istitle())
# True

print('Python★ Programming Language'.istitle())
# True

print('Py★thon Programming Language'.istitle())
# False

Ambil perhatian bahawa tidak terdapat banyak rentetan seperti contoh di atas, tetapi adalah realistik untuk memasukkan nombor dalam nombor ordinal dan kes lain.

print('The 1st Team'.istitle())
# False

print('The 1St Team'.istitle())
# True

Jika tiada aksara sensitif huruf besar-besaran disertakan (semua aksara tidak peka huruf besar-kecil), palsu.

print('123'.istitle())
# False

Bandingkan rentetan dalam cara yang tidak peka huruf besar-besaran

Apabila membandingkan rentetan, huruf besar dan huruf kecil yang berbeza tidak dianggap setara.

s1 = 'python'
s2 = 'PYTHON'

print(s1 == s2)
# False

Jika anda ingin membuat perbandingan tidak peka huruf besar-besaran, anda boleh menggunakan upper() atau lower() untuk menukar kedua-duanya dan membandingkannya.

print(s1.upper() == s2.upper())
# True

print(s1.lower() == s2.lower())
# True

print(s1.capitalize() == s2.capitalize())
# True

print(s1.title() == s2.title())
# True