我应该用编码信息开始一个py文件吗?

Should I start a py file with coding information?

你能告诉我应该如何正式化我的 .py 文件吗?

从一些来源我发现所有文件都应该以:

# coding : utf-8
# PEP-8

GitHub 上的某些人这样做:

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

但是,例如 Google 不使用其中任何一个并使用许可证信息启动文件:

# Copyright (C) 2018 Google Inc.
# Licensed under http://www.apache.org/licenses/LICENSE-2.0 <see LICENSE file>

什么是最好的和被接受的方式?

视情况而定。

Python 2 使用 ASCII 作为源文件的默认编码。

Python 3的默认是UTF-8.

因此,如果您打算只支持 Python 3+,那么您不必声明 utf-8 编码,因为它已经是默认编码。

如果您也打算支持 Python 2 并且您有非 ASCII 字符串文字,那么您应该声明一种编码。

如果您的文本编辑器还需要编码声明(例如,如果您的 Unix 语言环境设置为 Latin-1,但您的代码是 UTF-8),Python 的宽松语法允许用于两者的单个声明——例如,# -*- coding: utf-8 -*- 被 emacs 和 Python.

识别

一些官方信息:

Python 3 关于 unicode 支持的文档:https://docs.python.org/3/howto/unicode.html#python-s-unicode-support

引入编码声明语法的 PEP 263:https://www.python.org/dev/peps/pep-0263/

PEP 3210 关于从 Python 3.0 开始将默认编码从 ASCII 更改为 UTF-8:https://www.python.org/dev/peps/pep-3120/