Aşağıdaki gibi bir şey:
import ascii
print ascii.charlist()
Bu [A, B, C, D ...] gibi bir şey döndürür
Aşağıdaki gibi bir şey:
import ascii
print ascii.charlist()
Bu [A, B, C, D ...] gibi bir şey döndürür
Yanıtlar:
string
Sabitleri istediğini olabilir. ( dokümanlar )
>>> içe aktarma dizesi >>> string.ascii_uppercase 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
Tüm yazdırılabilir karakterleri istiyorsanız:
>>> string.printable '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ! "# $% & \' () * +, -. /:;? @ [\\] ^ _` {|} ~ \ t \ n \ r \ x0b \ x0c '
string.ascii_letters
bütün mesele!
string.letters
... @Andrey'in bahsettiği şeye string.printable
daha yakın (ama aynı değil).
string.printable
tüm yazdırılabilir karakterleri verir.
İşte burada:
[chr(i) for i in xrange(127)]
String
Modülün kullanımdan kaldırıldığı göz önüne alındığında , bu en iyi yanıttır
string
modül yalnızca kısmen kullanımdan kaldırıldı
range(127)
beri aramanız gerektiğini de unutmayın . Ayrıca, Python 2'de Unicode karakterleri almak için , Python 3'ü aramanız gerekirrange
xrange
unichr(i)
chr(i)
ASCII, bayt değerleri 0 ila 127 dahil 128 karakter tanımlar. Dolayısıyla, tüm ASCII karakterlerinin bir dizisini elde etmek için şunu yapabilirsiniz:
''.join([chr(i) for i in range(128)])
Bunlardan yalnızca bazıları yazdırılabilir, ancak yazdırılabilir ASCII karakterlerine Python'da şu yolla erişilebilir:
import string
string.printable
Bunu bir modül olmadan yapabilirsiniz:
characters = list(map(chr, range(97,123)))
Yazın characters
ve yazdırmalıdır ["a","b","c", ... ,"x","y","z"]
. Büyük harf kullanımı için:
characters=list(map(chr,range(65,91)))
Bunun için herhangi bir aralık (aralık adımlarının kullanımı dahil) kullanılabilir, çünkü Unicode kullanır. Bu nedenle, range()
listeye daha fazla karakter eklemek için artırın .
her yinelemesini map()
çağırır .chr()
range()
Hayır yok, ama kolayca yapabilirsiniz:
#Your ascii.py program:
def charlist(begin, end):
charlist = []
for i in range(begin, end):
charlist.append(chr(i))
return ''.join(charlist)
#Python shell:
#import ascii
#print(ascii.charlist(50, 100))
#Comes out as:
#23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc
string.printable
"hayır, yok" mu diyorsunuz?
a
hiçz
ama 0 ila 127 kodlarından, yani sadece harfler değil.