str.isalpha()
return true jeśli wszystkie znaki w ciągu są alfabetyczne i istnieje co najmniej jeden znak, fałszywy Inaczej. Znaki alfabetu są to znaki zdefiniowane w bazie danych znaków Unicode jako "Letter", tj. Te z ogólną właściwością kategorii są jednym z "Lm", "Lt", "Lu", "Ll" lub "Lo". Zauważ, że różni się to od właściwości "Alfabetyczny" zdefiniowanej w standardzie Unicode.
W python2.x:
>>> s = u'a1中文'
>>> for char in s: print char, char.isalpha()
...
a True
1 False
中 True
文 True
>>> s = 'a1中文'
>>> for char in s: print char, char.isalpha()
...
a True
1 False
� False
� False
� False
� False
� False
� False
>>>
W python3.x:
>>> s = 'a1中文'
>>> for char in s: print(char, char.isalpha())
...
a True
1 False
中 True
文 True
>>>
Ta praca kod:
>>> def is_alpha(word):
... try:
... return word.encode('ascii').isalpha()
... except:
... return False
...
>>> is_alpha('中国')
False
>>> is_alpha(u'中国')
False
>>>
>>> a = 'a'
>>> b = 'a'
>>> ord(a), ord(b)
(65345, 97)
>>> a.isalpha(), b.isalpha()
(True, True)
>>> is_alpha(a), is_alpha(b)
(False, True)
>>>
Należy pamiętać, że "słowo" w programowaniu zwykle odnosi się do liter i cyfr oraz znaków podkreślenia. To pytanie w rzeczywistości pyta o "listy"; jeśli chcesz sprawdzić, czy postać jest słowem, najlepszym sposobem, jaki znalazłem, jest 'character.isalnum() lub character ==" _ "'. – Variadicism
Wiem, ale zapytałem o to jak 3 lata temu, kiedy zacząłem programowanie. Możesz go edytować. –
Wystarczająco fair. Wszyscy tam byliśmy. Poproszę o zmianę. – Variadicism