, 21. yüzyılda ve insanlar artık ilgili soruyu anwering zaman sadece bu ASCII kullanarak iletişim küreselleşen dünyada artık konum "sadece harfleri olan" hesap harfleri içine almak gerekir ASCII olmayan alfabelerden de.
unicodedata.category('陳')
'Lo'
unicodedata.category('A')
'Lu'
unicodedata.category('1')
'Nd'
unicodedata.category('a')
'Ll'
categories and their abbreviations Unicode standardı tanımlanmıştır: Python diğer şeyler arasında Unicode karakter sınıflandırmayı sağlayan bir hoş serin unicodedata kütüphanesi vardır. Sonra
def only_letters(s):
for c in s:
cat = unicodedata.category(c)
if cat not in ('Ll','Lu','Lo'):
return False
return True
Ve: Buradan oldukça kolay böyle bir fonksiyonu elde edebilirsiniz olabilir
only_letters('Bzdrężyło')
True
only_letters('He7lo')
False
Eğer beyaz listede bulunan kategoriler oldukça kolay iç ilişki aracılığıyla kontrol edilebilir görebileceğiniz gibi işlevi. Daha ayrıntılı bir tartışma için this article'a bakın.
Not: python2'de, bu unicode farkında değil, "" ä ".isalpha()' False. Ancak, python3 '" ä ".isalpha()' dır, çünkü python3 varsayılan olarak unicode dizeleri vardır. – Squidly
@MrBones: Python 2'de, önemli olan bir 'unicode 'nesnesi kullanın. –
Evet, sadece okuyucular için fazladan yararlı bilgi olarak ekliyordum – Squidly