Списък с низови методи за работа с главни и малки букви в Python

Бизнес

Типът string (str) на Python е снабден с удобни методи за работа с главни и малки букви. Можете да конвертирате между главни и малки букви и да определяте размера на буквите.

Тук се предоставя следната информация.

  • Преобразуване на главни и малки букви
    • Основно използване
    • Работа с пълноразмерни и полуразмерни символи
    • str.upper()Преобразуване на всички букви в главни
    • str.lower()Преобразуване на всички букви в малки
    • str.capitalize()Преобразувайте първата буква в главна, а останалите в малка.
    • str.title()Преобразувайте първата буква на дадена дума в главна, а останалите в малка.
    • str.swapcase()Преобразувайте главни букви в малки и малки букви в главни.
  • Определяне на главни и малки букви
    • str.isupper(): Определете дали всички букви са главни
    • str.islower(): Определете дали всички знаци са малки букви.
    • str.istitle(): Определете дали става въпрос за заглавие.
  • Сравняване на низове по начин, при който не се отчитат големи и малки букви

Преобразуване на главни и малки букви

Основно използване

Първо ще обясня основната употреба. Като пример ще използваме метода upper() за изписване на всички главни букви, но същото важи и за други методи.

За удобство пишем „преобразуване“, но в Python обектите от тип string (str) не могат да се обновяват, така че самият оригинален низ (s_org в примера) не се променя.

s_org = 'pYThon proGramminG laNguAge'

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

print(s_org)
# pYThon proGramminG laNguAge

Ако искате да използвате преобразувания низ по-късно, можете да го съхраните в нова променлива по следния начин.

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

Възможно е също така да се презапише оригиналната променлива.

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

Работа с пълноразмерни и полуразмерни символи

Ако даден символ е чувствителен към големи и малки букви, като например азбуката, той ще бъде конвертиран както в еднобайтови, така и в двубайтови символи.

Символите, които не са чувствителни към големи и малки букви, като например числата и китайските символи, остават непроменени. Примерът е за upper(), но същото важи и за други методи.

s_org = 'Pyhon Python 123'

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

str.upper(): преобразува всички букви в главни

s_org = 'pYThon proGramminG laNguAge'

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

str.lower(): преобразува всички символи в малки букви

s_org = 'pYThon proGramminG laNguAge'

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

str.capitalize(): преобразува първата буква в главна, а останалите в малка

s_org = 'pYThon proGramminG laNguAge'

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

str.title(): преобразува първата буква на думата в главна, а останалите в малка

Преобразуване в т.нар. дело за собственост.

s_org = 'pYThon proGramminG laNguAge'

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

str.swapcase(): преобразува главни букви в малки, малки в главни

Разменяйте главни и малки букви.

s_org = 'pYThon proGramminG laNguAge'

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

Определяне на главни и малки букви

В следващите примери методите се извикват директно от символни низове, като например 'python', но същото важи и при съхраняването им в променливи, както в предишните примери.

str.isupper(): определя дали всички букви са главни

isupper() връща true, ако съдържа поне един знак, чувствителен към големи букви, и всички те са главни, и false в противен случай.

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

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

Ако символът е чувствителен към големи и малки букви, се преценяват дори двубайтови символи.

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

Ако е включен дори един чувствителен на малки и големи букви символ, нечувствителният на големи и малки букви символ се пренебрегва, но ако не е включен нито един чувствителен на големи и малки букви символ (всички символи са нечувствителни на големи и малки букви), решението е false.

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

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

str.islower(): определя дали всички символи са малки букви

islower() връща true, ако съдържа поне един знак с малки букви и всички те са малки, и false в противен случай.

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

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

Ако символът е чувствителен към големи и малки букви, се преценяват дори двубайтови символи.

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

Ако е включен дори един чувствителен на малки и големи букви символ, нечувствителният на големи и малки букви символ се пренебрегва, но ако не е включен нито един чувствителен на големи и малки букви символ (всички символи са нечувствителни на големи и малки букви), решението е false.

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

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

str.istitle(): Определя дали случаят е заглавен.

istitle() връща true, ако низът е заглавие (първата буква на думата е главна, а останалите са малки), false в противен случай.

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

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

Ако съдържа знаци, нечувствителни към големи и малки букви, ще бъде false, ако знаците, нечувствителни към големи и малки букви, са предшествани от малка буква.

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

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

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

Обърнете внимание, че няма много низове като горния пример, но е реалистично да се включат числа в редици и други случаи.

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

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

Ако не са включени знаци, чувствителни към големи и малки букви (всички знаци са безразлични към големи и малки букви), false.

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

Сравняване на низове по начин, при който не се отчитат големи и малки букви

При сравняване на низове различните главни и малки букви не се считат за еквивалентни.

s1 = 'python'
s2 = 'PYTHON'

print(s1 == s2)
# False

Ако искате да направите сравнение без значение на големите и малките букви, можете да използвате upper() или lower(), за да преобразувате двата символа и да ги сравните.

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

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

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

print(s1.title() == s2.title())
# True
Copied title and URL