str.isalpha(), isalnum(), isascii(), isspace(), isprintable(), isidentifier() în Python

Metode pentru șiruri Python 3.0+ (isascii: 3.7+)

Verifică ce fel de caractere conține un text: doar litere, litere și cifre, doar ASCII, doar spații etc.

Sintaxă
text.isalpha()
text.isalnum()
text.isascii()
text.isspace()
text.isprintable()
text.isidentifier()

Ce face str.isalpha(), isalnum(), isascii(), isspace(), isprintable(), isidentifier()

isalpha(): doar litere (inclusiv cu diacritice). isalnum(): doar litere și cifre. isspace(): doar spații albe. Toate trei returnează False pentru textul gol.

isascii(): toate caracterele sunt ASCII (cod sub 128); pentru textul gol returnează True. isprintable(): niciun caracter de control (de exemplu \n sau \t); textul gol este considerat tipăribil. isidentifier(): textul poate fi nume de variabilă în Python (nu verifică însă cuvintele cheie; pentru asta există keyword.iskeyword()).

Pentru bytes există isalpha(), isalnum(), isascii() și isspace(), care iau în calcul doar caracterele ASCII.

Ce returnează

True sau False.

Exemple

Exemplul 1: Tabel de verificări

for t in ["Brașov", "Ana25", "abc", "  \t", "nume_1", "a b", ""]:
    print(f"{t!r:10} alpha={t.isalpha()!s:5} alnum={t.isalnum()!s:5} ascii={t.isascii()!s:5} space={t.isspace()!s:5} id={t.isidentifier()}")

Rezultat

'Brașov'   alpha=True  alnum=True  ascii=False space=False id=True
'Ana25'    alpha=False alnum=True  ascii=True  space=False id=True
'abc'      alpha=True  alnum=True  ascii=True  space=False id=True
'  \t'     alpha=False alnum=False ascii=True  space=True  id=False
'nume_1'   alpha=False alnum=False ascii=True  space=False id=True
'a b'      alpha=False alnum=False ascii=True  space=False id=False
''         alpha=False alnum=False ascii=True  space=False id=False

Exemplul 2: Caractere invizibile și bytes

print("rând\nnou".isprintable(), "normal".isprintable())
import keyword
print("class".isidentifier(), keyword.iskeyword("class"))
print(b"abc".isalpha(), b"ab1".isalnum(), b"\xc8\x99".isascii())

Rezultat

False True
True True
True True False

Greșeli frecvente

  • Validezi un nume cu isalpha() și respingi „Ana Maria” sau „Ana-Maria”: spațiul și cratima nu sunt litere. Elimină-le întâi sau folosește o expresie regulată.

Comenzi înrudite