鱧技術

hamo_daisukiの技術メモ

"-*-" <- これの話

近々に連休があるのですが、こんなご時世なのでおでかけできません。それで、じっくりお勉強(?)しようかと思い、python 3系(2系で完全に止まっていた人)に取り掛かりました。

じっくり取り組むなら細部まで調べようと、以前から気になっていた " -*- "これって、何なのか調べてみようと思いました。「シバンっぽいアレ」とか「お祈り」とかって読んでいたんですが、よくわからないまま使ってました。「お祈り」っていうのは、見た目が手を合わせているっぽく見えたので。なんとなく使ってしまっていたので、まさにおまじない。

調べた結果「マジックコメント」と言うそうですね。python 3 では非推奨とのことで、いらないらしい。

PEP 263によると、書き方としては
プレーンなやつ
# coding=<encoding name>
よく見るやつ
#!/usr/bin/python
# -*- coding: <encoding name> -*-
ちょっと長めのやつ
#!/usr/bin/python
# vim: set fileencoding=<encoding name> :
があるみたいです。
正規表現するとこんな感じ
^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)
何もつけていないと ascii として扱われるらしいです。自分は癖をつけておかないとだめなタイプなので、プレーンなやつで書くようにしておこうかと。