Как работают «волшебные строки» в python при указании кодировки в файле python?

В начале файла python (сначала строка) иногда я читаю

# -*- coding: utf-8 -*-

, а иногда я читаю

# encoding: utf-8

Обе строки, похоже, делают одно и то же: указывают utf8 в качестве кодировки для всего текста, помещенного в файл.

У меня есть вопросы:

  1. Почему это вообще работает? Я думал, что интерпретатор игнорирует все после # , потому что он вызывает комментарий.
  2. В чем разница между двумя приведенными выше строками? Интерпретатор просто игнорирует - * - ?
10
задан S.L. Barth - Reinstate Monica 18 July 2012 в 21:00
поделиться