最初,我已经学会了在 Python 2.7 中以这种方式指定源代码编码:# -*- coding: utf-8 -*-现在我才注意到,PEP263 也允许这样做:# coding=utf-8这些之间有什么区别吗?编辑器兼容性,跨平台等怎么样?Python 3 怎么样?python 3是否仍然需要此注释,或者python 3中的任何代码默认为utf-8?
2 回答
慕标琳琳
TA贡献1830条经验 获得超9个赞
看看PEP3120将 python 源代码的默认编码更改为 UTF-8
因此,对于 python 3.x,可以在文档中找到:
如果 Python 脚本第一行或第二行中的注释与正则表达式 coding[=:]\s*([-\w.]+) 匹配,则将此注释作为编码声明处理 [...]推荐编码表达式的形式是:
# -*- coding: <encoding-name> -*-这也被 GNU Emacs 认可,以及
# vim:fileencoding=<encoding-name>这被 Bram Moolenaar 的 VIM 认可。如果未找到编码声明,则默认编码为 UTF-8
因此,带回家的信息是:
python 3.x 不需要指定 utf-8,因为它是默认值
编码行的编写方式在某种程度上是个人选择(只是文档中的推荐),它只需要匹配正则表达式。
添加回答
举报
0/150
提交
取消