Python 3 utilise le codage UTF-8 pour les fichiers de code source par défaut. Dois-je toujours utiliser la déclaration d'encodage au début de chaque fichier source? Comme# -*- coding: utf-8 -*-
Python 3 utilise le codage UTF-8 pour les fichiers de code source par défaut. Dois-je toujours utiliser la déclaration d'encodage au début de chaque fichier source? Comme# -*- coding: utf-8 -*-
Réponses:
Étant donné que la valeur par défaut est UTF-8, vous ne devez utiliser cette déclaration que lorsque vous vous écartez de la valeur par défaut, ou si vous comptez sur d'autres outils (comme votre IDE ou votre éditeur de texte) pour utiliser ces informations.
En d'autres termes, en ce qui concerne Python, ce n'est que lorsque vous souhaitez utiliser un encodage différent que vous devez utiliser cette déclaration.
D'autres outils, tels que votre éditeur, peuvent prendre en charge une syntaxe similaire, c'est pourquoi la spécification PEP 263 permet une flexibilité considérable dans la syntaxe (il doit s'agir d'un commentaire, le texte coding
doit être là, suivi d'un caractère :
ou =
et d'un espace blanc facultatif, suivi d'un codec reconnu).
Notez que cela s'applique uniquement à la façon dont Python lit le code source . Cela ne s'applique pas à l'exécution de ce code, donc pas à la façon dont l'impression, l'ouverture de fichiers ou toute autre opération d'E / S se traduisent entre les octets et Unicode. Pour plus de détails sur Python, Unicode et les encodages, je vous encourage vivement à lire le Python Unicode HOWTO , ou le discours très complet Pragmatic Unicode de Ned Batchelder.
UTF-8
, qui est une valeur par défaut.Pour les projets multi-encodages:
Si certains fichiers sont encodés dans
non-utf-8
, alors même pour ceux encodés dans,UTF-8
vous devez également ajouter une déclaration d'encodage, car la règle d'or estExplicit is better than implicit.
configuration de l'encodage pour un fichier spécifique dans pycharm
# vim: set fileencoding=<encoding name> :
# -*- coding: utf-8 -*-
peut encore être utile pour certains éditeurs de passer au codage attendu lors de l'édition du fichier source.