Boolean je dôležitý pojem v programovaní. V tomto článku sa s EU.LuckyTemplates naučíme, ako používať Boolean na spracovanie reťazcov v Pythone !

Reťazec v Pythone je sekvencia znakov. Pomocou súboru dostupných metód môžete s reťazcami vykonávať mnoho rôznych akcií. Typy typu string boolean sú podmnožinou týchto metód, ktoré sa používajú na kontrolu, či daný reťazec vyhovuje pravidlám alebo nie.
Teraz sa naučíme, ako používať niektoré boolovské metódy v Pythone 3 na efektívnejšie spracovanie reťazcov.
Ako overiť reťazce pomocou Boolean v Pythone
Ako skontrolovať reťazec obsahuje iba alfanumerické znaky
Či daný reťazec obsahuje iba alfanumerické znaky, môžete skontrolovať pomocou metódy isalnum() .
Táto metóda vráti hodnotu True , ak sú všetky znaky alfanumerické vrátane (AZ), (az) a (0-9). Ak niektorý znak v reťazci nie je vyššie uvedeným znakom, táto metóda vráti hodnotu False .
Napríklad:
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)
výsledok:
True
False
False
True
True
Ako skontrolovať, či každý reťazec obsahuje iba doslovné znaky
Pomocou metódy isalpha() môžete skontrolovať, či daný reťazec obsahuje iba písmená alebo nie . Táto metóda vráti hodnotu True, ak sú všetky znaky písmen z AZ a az. Ak niektoré znaky v reťazci nie sú doslovné, táto metóda vráti hodnotu False .
Napríklad:
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)
výsledok:
True
False
False
False
False
Ako skontrolovať, či sú všetky znaky v reťazci desatinné, číslice alebo čísla
Pomocou metód isdecimal(), isdigit() a isnumeric() môžete skontrolovať, či daný reťazec pozostáva iba z desatinných, číselných alebo číslicových znakov. Všetky tri metódy sú podobné, ale majú tieto kľúčové rozdiely:
- isdecimal() : Desatinné znaky možno použiť na vytvorenie čísel so základom 10, napríklad: U+0660, ARABSKO-INDICKÁ ČÍSLICA NULA. Formálne je desatinný znak znak vo forme všeobecnej kategórie Unicode „Nd“.
- isdigit() : Číslice obsahujú desatinné znaky a vyžadujú špeciálne zaobchádzanie, ako sú horné indexy kvôli kompatibilite. To zahŕňa číslice, ktoré nemožno použiť na vytvorenie čísel so základom 10, ako napríklad čísla Kharosthi. Formálne je číslica znak s hodnotou atribútu Numeric_Type=Digit alebo Numeric_Type=Decimal.
- isnumeric() : Číselné znaky zahŕňajú alfanumerické znaky a všetky znaky s atribútom číselnej hodnoty Unicode, napríklad: U+2155, VULGAR FRACTION ONE FIFTH. Formálne sú číselné znaky tie, ktoré majú hodnotu atribútu Numeric_Type = Digit, Numeric_Type = Decimal alebo Numeric_Type = Numeric.
Podľa definície môže byť vzťah medzi týmito tromi metódami prezentovaný takto:
isdecimal() ⊆ isdigit() ⊆ isnumeric()
To znamená, že ak je reťazec desiatkové číslo, môžu to byť aj čísla a číslice.
Napríklad:
# 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())
výsledok:
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
Ako skontrolovať, či je reťazec platným identifikátorom
Pomocou metódy isidentifier() môžete skontrolovať, či je daný reťazec platným identifikátorom. Táto metóda vráti hodnotu True , ak je reťazec platným identifikátorom. V opačnom prípade vráti hodnotu False .
Každý reťazec sa považuje za platný identifikátor, ak spĺňa nasledujúce podmienky:
- Obsahuje iba alfanumerické znaky alebo podčiarkovníky.
- Nezačína číselným znakom.
- Neobsahuje medzery.
Napríklad:
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)
výsledok:
True
False
False
True
False
Reťazce sú mimoriadne užitočné pri prenose informácií z programu k používateľovi. Použitie booleovskej validácie nie je jediný spôsob, ako zvládnuť reťazce Pythonu, je však mimoriadne efektívny a pre začiatočníkov celkom jednoduchý.