Popis metoda niza za manipulaciju velikim i malim slovima u Pythonu

Poslovanje

Pythonova vrsta stringa (str) standardno dolazi s praktičnim metodama za manipulaciju velikim i malim slovima. Možete pretvoriti velika i mala slova i odrediti velika slova.

Ovdje su navedene sljedeće informacije.

  • Pretvaranje između velikih i malih slova
    • Osnovna upotreba
    • Rukovanje likovima u punoj i polovičnoj veličini
    • str.upper()Pretvorite sva slova u velika
    • str.lower()Pretvorite sva slova u mala slova
    • str.capitalize()Pretvorite prvo slovo u velika, a ostalo u mala.
    • str.title()Pretvorite prvo slovo riječi u velika, a ostatak u mala.
    • str.swapcase()Pretvorite velika slova u mala i mala slova u velika.
  • Odredi velika i mala slova
    • str.isupper(): Odredite jesu li sva slova velika
    • str.islower(): Odredite jesu li svi znakovi mala slova.
    • str.istitle(): Odredite je li riječ o velikom slovu.
  • Usporedite nizove na način bez obzira na velika i mala slova

Pretvaranje između velikih i malih slova

Osnovna upotreba

Prvo ću objasniti osnovnu upotrebu. Upotrijebit ćemo metodu upper() za velika slova kao primjer, ali isto vrijedi i za druge metode.

Radi praktičnosti pišemo “conversion”, ali u Pythonu objekti tipa string (str) se ne mogu ažurirati, pa se sam izvorni niz (s_org u primjeru) ne mijenja.

s_org = 'pYThon proGramminG laNguAge'

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

print(s_org)
# pYThon proGramminG laNguAge

Ako kasnije želite upotrijebiti konvertirani niz, možete ga pohraniti u novu varijablu na sljedeći način.

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

Također je moguće prebrisati izvornu varijablu.

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

Rukovanje likovima u punoj i polovičnoj veličini

Ako je znak osjetljiv na velika i mala slova, kao što je abeceda, bit će pretvoren u jednobajtne i dvobajtne znakove.

Znakovi koji ne razlikuju velika i mala slova, kao što su brojevi i kineski znakovi, ostaju nepromijenjeni. Primjer je za upper(), ali isto vrijedi i za druge metode.

s_org = 'Pyhon Python 123'

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

str.upper(): pretvoriti sva slova u velika

s_org = 'pYThon proGramminG laNguAge'

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

str.lower(): pretvoriti sve znakove u mala slova

s_org = 'pYThon proGramminG laNguAge'

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

str.capitalize(): pretvori prvo slovo u velika, a ostalo u mala

s_org = 'pYThon proGramminG laNguAge'

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

str.title(): pretvoriti prvo slovo riječi u velika, a ostatak u mala

Pretvorba u tzv.

s_org = 'pYThon proGramminG laNguAge'

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

str.swapcase(): pretvoriti velika u mala slova, mala u velika

Zamijenite velika i mala slova.

s_org = 'pYThon proGramminG laNguAge'

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

Odredi velika i mala slova

U sljedećim primjerima metode se pozivaju izravno iz literala niza kao što je ‘python’, ali isto vrijedi i kada su pohranjene u varijablama kao u prethodnim primjerima.

str.isupper(): odredi jesu li sva slova velika

isupper() vraća true ako sadrži barem jedan znak osjetljiv na velika i mala slova i svi su velika slova, a u suprotnom false.

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

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

Ako je znak osjetljiv na velika i mala slova, ocjenjuju se čak i dvobajtni znakovi.

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

Ako je uključen čak i jedan znak osjetljiv na velika i mala slova, znak koji ne razlikuje velika i mala slova se zanemaruje, ali ako nije uključen nijedan znak osjetljiv na velika i mala slova (svi znakovi ne razlikuju velika i mala slova), odluka je pogrešna.

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

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

str.islower(): odredi jesu li svi znakovi mala slova

islower() vraća true ako sadrži barem jedan znak osjetljiv na velika i mala slova i svi su mala slova, a u suprotnom false.

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

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

Ako je znak osjetljiv na velika i mala slova, ocjenjuju se čak i dvobajtni znakovi.

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

Ako je uključen čak i jedan znak osjetljiv na velika i mala slova, znak koji ne razlikuje velika i mala slova se zanemaruje, ali ako nije uključen nijedan znak osjetljiv na velika i mala slova (svi znakovi ne razlikuju velika i mala slova), odluka je pogrešna.

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

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

str.istitle(): Odredite jesu li velika i mala slova naslovna.

istitle() vraća true ako je string veliko slovo u naslovu (prvo slovo riječi je veliko, ostalo je malo), u suprotnom false.

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

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

Ako sadrži znakove neosjetljive na velika i mala slova, bit će lažno ako pred znakovima koji ne razlikuju velika i mala slova.

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

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

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

Imajte na umu da nema mnogo nizova kao u gornjem primjeru, ali je realno uključiti brojeve u redne brojeve i druge slučajeve.

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

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

Ako nema uključenih znakova koji razlikuju velika i mala slova (svi znakovi ne razlikuju velika i mala slova), netočno.

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

Usporedite nizove na način bez obzira na velika i mala slova

Kada se uspoređuju nizovi, različita velika i mala slova ne smatraju se ekvivalentima.

s1 = 'python'
s2 = 'PYTHON'

print(s1 == s2)
# False

Ako želite napraviti usporedbu bez obzira na velika i mala slova, možete koristiti upper() ili lower() da ih pretvorite i usporedite.

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

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

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

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