Boolean е важна концепция в програмирането. В тази статия нека научим с EU.LuckyTemplates как да използваме Boolean за обработка на низове в Python !

Низът в Python е поредица от знаци. Можете да извършвате много различни действия върху низове, като използвате набор от налични методи. Булевите типове низове са подмножество от тези методи, които се използват за проверка дали дадения низ отговаря на правилата или не.
Сега нека научим как да използваме някои булеви методи в Python 3 за по-ефективна обработка на низове.
Как да валидирате низове с Boolean в Python
Как да проверите дали низ съдържа само буквено-цифрови знаци
Можете да проверите дали дадения низ съдържа само буквено-цифрови знаци, като използвате метода 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(). И трите метода са подобни, но имат следните основни разлики:
- isdecimal() : Десетичните знаци могат да се използват за образуване на числа с основа 10, например: U+0660, АРАБСКА-ИНДИЙСКА ЦИФРА НУЛА. Формално десетичният знак е знак във формата Unicode General Category “Nd”.
- isdigit() : Цифрите включват десетични знаци и изискват специална обработка, като горни индекси за съвместимост. Това включва цифри, които не могат да се използват за формиране на числа с основа 10, като например числа на Kharosti. Формално, цифрата е знак със стойността на атрибута Numeric_Type=Digit или Numeric_Type=Decimal.
- isnumeric() : Цифровите знаци включват буквено-цифрови знаци и всички знаци с атрибута на цифровата стойност на Unicode, например: U+2155, ВУЛГАРНА Дроб ЕДНА ПЕТА. Формално цифровите знаци са тези със стойност на атрибута 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 .
Всеки низ се счита за валиден идентификатор, ако отговаря на следните условия:
- Съдържа само буквено-цифрови знаци или долна черта.
- Не започва с цифра.
- Не съдържа интервали.
Например:
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
Низовете са изключително полезни при предаване на информация от програмата към потребителя. Използването на булево валидиране не е единственият начин за работа с низове на Python, но е изключително ефективен и доста лесен за използване от начинаещи.