Réponses:
Les string
constantes peuvent être ce que vous voulez. ( docs )
>>> chaîne d'importation >>> string.ascii_uppercase «ABCDEFGHIJKLMNOPQRSTUVWXYZ»
Si vous voulez tous les caractères imprimables:
>>> chaîne imprimable '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ! "# $% & \' () * +, -. /:;? @ [\\] ^ _` {|} ~ \ t \ n \ r \ x0b \ x0c '
string.ascii_letters
est tout le shebang!
string.letters
... string.printable
est plus proche (mais pas la même chose) de ce à quoi @Andrey faisait référence, cependant.
string.printable
donne tous les caractères imprimables.
C'est ici:
[chr(i) for i in xrange(127)]
String
module est obsolète, c'est la meilleure réponse
string
module n'est que partiellement obsolète
range(127)
, car il a range
été supprimé et xrange
renommé. Aussi, pour obtenir des caractères Unicode en Python 2, vous devez appeler unichr(i)
mais en Python 3 simplementchr(i)
ASCII définit 128 caractères dont les valeurs d'octet vont de 0 à 127 inclus. Donc, pour obtenir une chaîne de tous les caractères ASCII, vous pouvez simplement faire
''.join([chr(i) for i in range(128)])
Cependant, seuls certains d'entre eux sont imprimables - les caractères ASCII imprimables sont accessibles en Python via
import string
string.printable
Étant donné que les caractères imprimables ASCII sont une assez petite liste (octets avec des valeurs comprises entre 32 et 127), il est assez facile à générer lorsque vous avez besoin:
>>> for c in (chr(i) for i in range(32,127)):
... print c
...
!
"
#
$
%
... # a few lines removed :)
y
z
{
|
}
~
Vous pouvez le faire sans module:
characters = list(map(chr, range(97,123)))
Tapez characters
et il devrait s'imprimer ["a","b","c", ... ,"x","y","z"]
. Pour une utilisation en majuscules:
characters=list(map(chr,range(65,91)))
Toute plage (y compris l'utilisation d'étapes de plage) peut être utilisée pour cela, car elle utilise Unicode. Par conséquent, augmentez le range()
pour ajouter plus de caractères à la liste.
map()
appelle chr()
chaque itération du range()
.
Non, il n'y en a pas, mais vous pouvez facilement en créer un:
#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
, vous dites "non, il n'y en a pas"?
a
àz
mais de 0 à 127 codes, ce ne sont pas que des lettres.