Antworten:
Die string
Konstanten können das sein, was Sie wollen. ( docs )
>>> Zeichenfolge importieren >>> string.ascii_uppercase 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
Wenn Sie alle druckbaren Zeichen möchten:
>>> string.printable '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ! "# $% & \' () * +, -. / :;? @ [\\] ^ _` {|} ~ \ t \ n \ r \ x0b \ x0c '
string.ascii_letters
ist der ganze Schebang!
string.letters
... string.printable
ist näher (aber nicht dasselbe) an dem, worauf sich @Andrey bezog.
string.printable
gibt alle druckbaren Zeichen an.
Hier ist es:
[chr(i) for i in xrange(127)]
String
Modul veraltet ist, ist dies die beste Antwort
string
Modul ist nur teilweise veraltet
range(127)
, da range
es entfernt und umbenannt wurde xrange
. Um Unicode-Zeichen in Python 2 zu erhalten, sollten Sie auch unichr(i)
in Python 3 einfach aufrufenchr(i)
ASCII definiert 128 Zeichen, deren Bytewerte zwischen 0 und einschließlich 127 liegen. Um eine Zeichenfolge aller ASCII-Zeichen zu erhalten, können Sie dies einfach tun
''.join([chr(i) for i in range(128)])
Nur einige davon sind druckbar, auf die druckbaren ASCII-Zeichen kann jedoch in Python über zugegriffen werden
import string
string.printable
for i in range(0,128):
print chr(i)
Versuche dies!
range(0, 128)
.
Sie können dies ohne Modul tun:
characters = list(map(chr, range(97,123)))
Geben Sie ein characters
und es sollte gedruckt werden ["a","b","c", ... ,"x","y","z"]
. Für Großbuchstaben verwenden:
characters=list(map(chr,range(65,91)))
Hierfür kann jeder Bereich (einschließlich der Verwendung von Bereichsschritten) verwendet werden, da Unicode verwendet wird. Erhöhen Sie daher die range()
, um der Liste weitere Zeichen hinzuzufügen.
map()
ruft chr()
jede Iteration des auf range()
.
Nein, gibt es nicht, aber Sie können leicht eine machen:
#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
, behaupten Sie "nein, gibt es nicht"?
a
bis,z
sondern von 0 bis 127 Codes, das sind nicht nur Buchstaben.