Chaine de caractères
Résolu/Fermé
haikei00X
Messages postés
67
Date d'inscription
dimanche 20 juillet 2014
Statut
Membre
Dernière intervention
11 janvier 2016
-
25 oct. 2014 à 18:12
haikei00X Messages postés 67 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 11 janvier 2016 - 26 oct. 2014 à 00:31
haikei00X Messages postés 67 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 11 janvier 2016 - 26 oct. 2014 à 00:31
A voir également:
- Chaine de caractères
- Caractères ascii - Guide
- Caractères spéciaux clavier azerty - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractères spéciaux - Guide
- Plus de chaine tv - Guide
2 réponses
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
Modifié par gravgun le 25/10/2014 à 18:26
Modifié par gravgun le 25/10/2014 à 18:26
'lut, ça génère une erreur car, en Python (2 ou 3), les chaines de caractère sont dites immuables: on ne peut pas modifier leur contenu comme ça.
En effet, en mémoire, Python garde un string intacte, et si on le modifie (par ex avec "a"+"b"), Python créé un 2e string en mémoire, résultat de l'opération dessus.
Il est possible de faire ce que tu proposes si on se sert d'un
En Python 3:
from human import idiocy
del idiocy
En effet, en mémoire, Python garde un string intacte, et si on le modifie (par ex avec "a"+"b"), Python créé un 2e string en mémoire, résultat de l'opération dessus.
Il est possible de faire ce que tu proposes si on se sert d'un
bytearray, qui a l'avantage d'être modifiable mais ne gère pas automatiquement les caractères multi-octets (UTF-8/autre); que l'on reconvertit après en string. Toutefois si tu restes collé aux lettres du code ASCII (non étendu), ça marche bien; voici un exemple:
En Python 3:
ch = bytearray("hello", "ascii") ch[0] = ord('b') # Le ord() est nécessaire pour obtenir un entier print(ch.decode("ascii"))Et en Python 2:
ch = bytearray("hello") ch[0] = ord('b') # Le ord() est nécessaire pour obtenir un entier print str(ch)
from human import idiocy
del idiocy
haikei00X
Messages postés
67
Date d'inscription
dimanche 20 juillet 2014
Statut
Membre
Dernière intervention
11 janvier 2016
3
26 oct. 2014 à 00:31
26 oct. 2014 à 00:31
Merci gravgun pour ces explications, je comprend mieux maintenant .^_^