您能告诉我如何格式化我的.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>
什么是最好的并被接受的方式?
答案 0 :(得分:3)
要视情况而定。
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/
关于从Python 3.0开始将默认编码从ASCII更改为UTF-8的PEP 3210:https://www.python.org/dev/peps/pep-3120/