先上代码 1:
s = """ 安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大 """
print(s)
执行代码 1,会报错:SyntaxError: Non-UTF-8 code starting with '\xe5' in file
再上代码 2:
s = """ 师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大安师大 """
print(s)
代码 2 就是把代码 1 的 s
字符串变量里,随便删一个字,比如删开头的安
,然后就可以成功打印结果了。
靠!!!这是什么鬼???就差一个字符就能有这么大的变化?
当然解决代码 1 还有种办法,就是文件头部加# -*- coding: utf-8 -*-
,但是为什么呢?? python3 不就是默认 utf-8 的吗?
执行环境:
1、macos
2、vscode / sublime text 3 都不可以
3、python3.7 ( anaconda 的和自己编译装的 python 3.7 亲测都不行) [但是网页版的这个 “python 3 在线执行” 却可以 https://c.runoob.com/compile/9 ]
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.