Как проверить строки с помощью логических методов в Python
Строка в Python – это последовательность символов. Вы можете выполнять различные операции со строками, используя набор встроенных методов. Строковые логические методы являются подмножеством этих встроенных методов, используемых для проверки того, соответствует ли данная строка определенным правилам или нет.
В этой статье вы узнаете, как использовать несколько различных строковых логических методов в Python 3, чтобы стать более эффективным разработчиком.
Как проверить, содержит ли строка только буквенно-цифровые символы
Вы можете проверить, состоит ли данная строка только из буквенно-цифровых символов, используя метод isalnum () .
Этот метод возвращает True, если все символы буквенно-цифровые. Буквенно-цифровые символы: (AZ), (az) и (0–9). Если какой-либо из символов в строке не является буквенно-цифровым, этот метод возвращает значение False .
Примеры:
str1 = "WelcomeToMUO"
# This method will return "True" as all the characters are alphanumeric
checkstr1 = str1.isalnum()
print(checkstr1)
str2 = "Welcome To MUO"
# This method will return "False" as the string have 2 whitespaces which are not alphanumeric
checkstr2 = str2.isalnum()
print(checkstr2)
str3 = "#WelcomeToMUO"
# This method will return "False" as the string have a special character "#" which is not alphanumeric
checkstr3 = str3.isalnum()
print(checkstr3)
str4 = "274962472"
# This method will return "True" as all the characters are alphanumeric
checkstr4 = str4.isalnum()
print(checkstr4)
str5 = "Welcome2MUO"
# This method will return "True" as all the characters are alphanumeric
checkstr5 = str5.isalnum()
print(checkstr5)
Выход:
True
False
False
True
True
Как проверить, состоит ли строка только из буквенных символов
Вы можете проверить, состоит ли данная строка только из буквенных символов, используя метод isalpha () .
Этот метод возвращает True, если все символы буквенные. Буквенные символы (AZ) и (az). Если какой-либо из символов в строке не является алфавитным, этот метод возвращает значение False .
Примеры:
str1 = "WelcomeToMUO"
# This method will return "True" as all the characters are alphabetic
checkstr1 = str1.isalpha()
print(checkstr1)
str2 = "Welcome To MUO"
# This method will return "False" as the string have 2 whitespaces which are not alphabetic
checkstr2 = str2.isalpha()
print(checkstr2)
str3 = "#WelcomeToMUO"
# This method will return "False" as the string have a special character "#" which is not alphabetic
checkstr3 = str3.isalpha()
print(checkstr3)
str4 = "274962472"
# This method will return "False" as all the characters are not alphabetic
checkstr4 = str4.isalpha()
print(checkstr4)
str5 = "Welcome2MUO"
# This method will return "False" as the string has a digit "2" which is not alphabetic
checkstr5 = str5.isalpha()
print(checkstr5)
Выход:
True
False
False
False
False
Как проверить, все ли символы в строке являются десятичными, цифрами или числовыми
Вы можете проверить, состоит ли данная строка только из десятичных символов, цифр или числовых символов, используя методы isdecimal (), isdigit () и isnumeric () соответственно. Все три метода кажутся похожими, но документация Python отмечает разницу между тремя методами следующим образом:
- isdecimal (): Десятичные символы – это символы, которые могут использоваться для формирования чисел с основанием 10, например, U + 0660, АРАБСКИЙ ЦИФРОВОЙ ЦИФР НУЛЬ. Формально десятичный символ – это символ из общей категории Unicode «Nd».
- isdigit (): цифры включают десятичные символы и цифры, требующие особой обработки, например, цифры надстрочного индекса совместимости. Это касается цифр, которые нельзя использовать для образования чисел с основанием 10, таких как числа Харошти. Формально цифра – это символ, имеющий значение свойства Numeric_Type = Digit или Numeric_Type = Decimal.
- isnumeric (): числовые символы включают символы цифр и все символы, которые имеют свойство числового значения Unicode, например, U + 2155, VULGAR FRACTION ONE FIFTH. Формально числовые символы – это символы со значением свойства Numeric_Type = Digit, Numeric_Type = Decimal или Numeric_Type = Numeric.
По определению отношения между тремя методами можно представить как:
isdecimal() ⊆ isdigit() ⊆ isnumeric()
Это означает, что если строка является десятичной, то она также будет цифровой и числовой.
Примеры:
# Digits
str1 = "8734947"
print("str1:")
print("str1.isdecimal() : ",str1.isdecimal())
print("str1.isdigit() : ",str1.isdigit())
print("str1.isnumeric() : ",str1.isnumeric())
# Fractional Value
str2 = "½"
print("str2:")
print("str2.isdecimal() : ",str2.isdecimal())
print("str2.isdigit() : ",str2.isdigit())
print("str2.isnumeric() : ",str2.isnumeric())
# Superscript Values
str3 = "⁰¹²³⁴⁵⁶⁷⁸⁹"
print("str3:")
print("str3.isdecimal() : ",str3.isdecimal())
print("str3.isdigit() : ",str3.isdigit())
print("str3.isnumeric() : ",str3.isnumeric())
Выход:
str1:
str1.isdecimal() : True
str1.isdigit() : True
str1.isnumeric() : True
str2:
str2.isdecimal() : False
str2.isdigit() : False
str2.isnumeric() : True
str3:
str3.isdecimal() : False
str3.isdigit() : True
str3.isnumeric() : True
Как проверить, является ли строка допустимым идентификатором
Вы можете проверить, является ли данная строка допустимым идентификатором, используя метод isidentifier () . Этот метод возвращает True, если строка является допустимым идентификатором. В противном случае возвращается False .
Строка считается допустимым идентификатором, если она удовлетворяет следующим условиям:
1. Он содержит только буквенно-цифровые символы и / или символы подчеркивания.
2. Он не начинается с цифрового символа.
3. Он не содержит пробелов.
Примеры:
str1 = "var1"
# This method will return "True" as the given string is a valid identifier
checkstr1 = str1.isidentifier()
print(checkstr1)
str2 = "var 1"
# This method will return "False" as the string contains a whitespace
checkstr2 = str2.isidentifier()
print(checkstr2)
str3 = "var1#"
# This method will return "False" as the string have a special character "#"
checkstr3 = str3.isidentifier()
print(checkstr3)
str4 = "_var1_"
# This method will return "True" as the given string is a valid identifier
checkstr4 = str4.isidentifier()
print(checkstr4)
str5 = "1var"
# This method will return "False" as the string starts with a digit "1"
checkstr5 = str5.isidentifier()
print(checkstr5)
Выход:
True
False
False
True
False
Как проверить, все ли символы в строке являются прописными или строчными
Вы можете проверить, состоит ли данная строка только из символов верхнего регистра, используя метод isupper () .
Точно так же вы можете проверить, состоит ли данная строка только из символов нижнего регистра, используя метод islower () . Метод isupper () возвращает True, если все символы строки находятся в верхнем регистре, а метод islower () возвращает True, если все символы строки находятся в нижнем регистре.
Примеры:
str1 = "MAKEUSEOF"
print("str1:")
print("str1.isupper() : ",str1.isupper())
print("str1.islower() : ",str1.islower())
str2 = "makeuseof"
print("str2:")
print("str2.isupper() : ",str2.isupper())
print("str2.islower() : ",str2.islower())
str3 = " "
print("str3:")
print("str3.isupper() : ",str3.isupper())
print("str3.islower() : ",str3.islower())
Выход:
str1:
str1.isupper() : True
str1.islower() : False
str2:
str2.isupper() : False
str2.islower() : True
str3:
str3.isupper() : False
str3.islower() : False
Как проверить, все ли символы в строке являются пробелами
Вы можете проверить, состоит ли данная строка только из пробельных символов, используя метод isspace () .
Этот метод возвращает True, если все символы являются пробелами. Если какой-либо из символов в строке не является пробелом, этот метод возвращает значение False .
Примеры:
str1 = " "
# This method will return "True" as the given string contains only whitespace
checkstr1 = str1.isspace()
print(checkstr1)
str2 = " MUO "
# This method will return "False" as the string contains characters other than whitespace
checkstr2 = str2.isspace()
print(checkstr2)
str3 = " - "
# This method will return "False" as the string contains character other than whitespace
checkstr3 = str3.isspace()
print(checkstr3)
Выход:
True
False
False
Как проверить, соответствует ли текст правилам стиля заголовка
Вы можете проверить, соответствует ли данный текст правилам заголовка, используя метод istitle () .
Считается, что текст следует правилам заголовка, если все слова в тексте начинаются с заглавной буквы, а остальные слова – строчными буквами. Если данный текст следует этому правилу, метод istitle () возвращает True , в противном случае он возвращает False .
Примеры:
str1 = "Welcome To Muo"
# This method will return "True" as the given string follows the rules of a title
checkstr1 = str1.istitle()
print(checkstr1)
str2 = "Welcome to Muo"
# This method will return "False" as the second word ("to") doesn't starts with a capital case character
checkstr2 = str2.istitle()
print(checkstr2)
str3 = "welcome to muo"
# This method will return "False" as all the words starts with a lowercase character
checkstr3 = str3.istitle()
print(checkstr3)
Выход:
True
False
False
Сделайте программирование увлекательным, используя строки
Строки очень полезны при передаче информации из программы ее пользователям. Однако использование логической проверки – не единственный способ поиграть со строками Python.
Вы можете преобразовать скучный текст в интересный, манипулируя строками. Проявите творческий подход и сделайте программирование увлекательным!