Pythonのエンコードを宣言する
Pythonでファイルのエンコードを宣言するとき
# -*- coding: utf-8 -*-
こういった内容を記載する人が多いと思いますが、自分にはこの記法には疑問がありました。
なぜEmacsを使わない人たちがEmacsのエンコードを宣言をするのだろうか。
会社ではEmacsを使うのは自分だけなので、もしかしたらこの記法がPythonのエンコード宣言だと思っているのかもしれません。
Vimではこう書く(らしい)です(Vimはほぼ使わないので知りません
# vim:fileencoding=<encoding-name>
If a comment in the first or second line of the Python script matches the regular expression coding[=:]\s*([-\w.]+), this comment is processed as an encoding declaration; the first group of this expression names the encoding of the source code file.
Python スクリプト中の一行目か二行目にあるコメントが正規表現 coding[=:]\s*([-\w.]+) にマッチする場合、コメントはエンコード宣言として処理されます; この表現の最初のグループがソースコードファイルのエンコードを指定します。
なので
#coding:utf-8
と書けばPythonで定義されているエンコード定義は済むのですが、Emacs使いに優しい今の環境に甘えておこうと思います。
スペースを入れた方が見た目的にはいいですか
# coding: utf-8