Codage Python: je ne suis pas sûr de Nintoka alors j'ai cherché

Ce mot d'oreiller écrit sur la deuxième ligne

Pour le moment, écrivez shebang sur la première ligne et écrivez-le sur la deuxième ligne.

haiku_wo_yome.py


#!/usr/bin/python
# -*- Coding: utf-8 -*-

C'est une déclaration magique qui définit comment le code source Python doit être encodé. Au fait, cet exemple ne fonctionne pas. Parce que C est une majuscule supérieure. est devenu accro.

c'est quoi ça. Qu'est-ce que le codage: qu'est-ce que Nantoka? Regardons ça.

Lire PEP 263

J'ai essayé de le savoir, mais tout est écrit en PEP 263. Comme prévu Python. C'est pourquoi je vais l'essayer.

Pourquoi est-ce nécessaire en premier lieu

Grosso modo, Jusqu'à Python 2.1, la seule façon d'écrire des caractères Unicode était d'utiliser des séquences d'échappement. Vous pouvez utiliser n'importe quel encodage pour les caractères 8 bits, mais il y a des limites. Il paraît que ... C'est en fait peu pratique. Cette zone peut être utile pour parler des codes de caractères en Python. UTF-8 pratique.

Comment ça fonctionne

La valeur par défaut est ASCII

Si rien n'est spécifié sur le codage, il est interprété comme ASCII.

Écrivez sur la première ou la deuxième ligne

Est-ce parce qu'il y a du shebang que la deuxième ligne est correcte?

format

Vous pouvez simplement le faire.

simple.py


# coding=<encoding name>

Souvent utilisé:

emacs.py


#!/opt/local/bin/python
# -*- coding: <encoding name> -*-

Cette notation semble provenir d'Emacs. Avec vim:

vim.py


#!/emacs/or/vim/python
# vim: set fileencoding=<encoding name> :

Comment l'écrivez-vous pour être reconnu?

En fait, si la première ou la deuxième ligne correspond au modèle suivant, l'intérieur des parenthèses est reconnu comme code de caractère. [^ 1]

"coding[:=]\s*([-\w.]+)"

Donc, tant que vous l'écrivez d'une manière qui correspond à cela, il sera cohérent avec l'éditeur. De plus, la notation suivante est possible.

wazamae.py


#!/mongoose/vs/python
# This Python file uses the following encoding: utf-8

jillypoor.py


#!/neko/nadetai/python
# Current encoding: shift-jis is not good for this environment.

Recommended Posts

Codage Python: je ne suis pas sûr de Nintoka alors j'ai cherché
J'ai pensé "Qu'est-ce que Linux?", Alors je l'ai recherché.
AWS Lambda prend désormais en charge Python, je l'ai donc essayé
Je n'ai pas pu importer le module python avec VSCODE, mais sur juoyterlab, j'ai pu trouver la cause.
[Super basiques de Python] J'ai appris les bases des bases, donc je l'ai résumé brièvement.