1.22 字母也玩起了障眼法 ======================= .. image:: http://image.iswbm.com/20200804124133.png 以下我分别在 Python2.7 和 Python 3.7 的 console 模式下,运行了如下代码。 **在Python 2.x 中** :: >>> valuе = 32 File "", line 1 valuе = 32 ^ SyntaxError: invalid syntax **在Python 3.x 中** :: >>> valuе = 32 >>> value 11 什么?没有截图你不信? .. image:: http://image.iswbm.com/20200509122954.png 如果你在自己的电脑上尝试一下,结果可能是这样的 .. image:: http://image.iswbm.com/20200509123107.png **怎么又好了呢?** 如果你想复现的话,请复制我这边给出的代码:\ ``valuе = 32`` **这是为什么呢?** 原因在于,我上面使用的 value 变量名里的 ``е`` 又不是我们熟悉的 ``e``\ ,它是 Cyrillic(西里尔)字母。 :: >>> ord('е') # cyrillic 'e' (Ye) 1077 >>> ord('e') # latin 'e', as used in English and typed using standard keyboard 101 >>> 'е' == 'e' False 细思恐极,在这里可千万不要得罪同事们,万一离职的时候,对方把你项目里的 ``e`` 全局替换成 ``e``\ ,到时候你就哭去吧,肉眼根本看不出来嘛。