如何在Python源代码的注释中使用utf-8字符?

如何在Python源代码的注释中使用utf-8字符?,python,utf-8,comments,Python,Utf 8,Comments,我认为我理解如何创建一个编码UTF-8字符的字符串。但是,我正在尝试做一些不同的事情。是否可以在Python源代码的注释中使用UTF-8字符?还有,是否有任何Python IDE或源代码编辑器可以识别UTF-8序列并正确显示字符?VS2015当然可以使用UTF-8文件作为源代码,但如果您只在源代码中键入一个度符号,并且您的ANSI编码对字符进行编码,它将尝试使用默认的ANSI编码(因本地化的Windows版本而异)。使用Notepad++等工具将源代码保存为UTF-8,VS2015仍能正确检测和

我认为我理解如何创建一个编码UTF-8字符的字符串。但是,我正在尝试做一些不同的事情。是否可以在Python源代码的注释中使用UTF-8字符?还有,是否有任何Python IDE或源代码编辑器可以识别UTF-8序列并正确显示字符?

VS2015当然可以使用UTF-8文件作为源代码,但如果您只在源代码中键入一个度符号,并且您的ANSI编码对字符进行编码,它将尝试使用默认的ANSI编码(因本地化的Windows版本而异)。使用Notepad++等工具将源代码保存为UTF-8,VS2015仍能正确检测和读取文件

以下文件是用Notepad++创建的,并保存为编码UTF-8:

print('\u00b0')  # This is a °.
print('°°°°')    # So are these.

它在VS2015中也能正确显示。

是的,只需在编辑器中写入一些Unicode字符,保存并运行它。@Ry-我有点失望,因为我无法编写文档,并将utf-8作为python 3.x的默认编码。如果您的编辑器/ide现在不支持Unicode,请更新您的工具链!我已经测试了几个code编辑器,包括MS Visual Studio 2015。到目前为止,我尝试过的任何东西都不会将序列U+00B0识别为学位符号。你是指文字“U+00B0”吗?因为你需要写“°”,而不是“U+00B0”。在Windows上,例如Alt+0176。当我将度符号放入打印语句中时,尝试运行代码时会出现以下错误:SyntaxError:(unicode错误)“utf-8”编解码器无法对位置25处的字节0xb0进行解码:起始字节无效您必须将文件另存为utf8,或者使用
#coding:ansi
声明您在Python脚本顶部使用的编码。Python 3假定为utf8。