Réponses:
Les stringconstantes 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_lettersest tout le shebang!
string.letters... string.printableest plus proche (mais pas la même chose) de ce à quoi @Andrey faisait référence, cependant.
string.printabledonne tous les caractères imprimables.
C'est ici:
[chr(i) for i in xrange(127)]
Stringmodule est obsolète, c'est la meilleure réponse
stringmodule n'est que partiellement obsolète
range(127), car il a rangeété supprimé et xrangerenommé. 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 characterset 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àzmais de 0 à 127 codes, ce ne sont pas que des lettres.