cda

数字化人才认证

您的位置:首页 > 精彩阅读 > 明明已经定义了变量e,为什么报notdefined的错了?

明明已经定义了变量e,为什么报notdefined的错了?

2022-06-27

领导抢功劳,我改个变量名让他下岗了

作者:小K

来源:麦叔编程

今天带大家认识一个新的变量名е。

嗨,这不是e么?有啥不认的,逗我玩呢。

大家先别急着吐槽,我来带大家走一波代码。

Type "help", "copyright", "credits" or "license" for more information. >>> е = 1024 >>> e
Traceback (most recent call last):
  File "<stdin>", line 1, in <module> NameError: name 'e' is not defined >>>

明明已经定义了变量e,为什么报not defined的错了??

我有图为证,这不是我拿大家开心瞎改的,

领导抢功劳,我改个变量名让他下岗了

原因是е不是我们认识的那个‘亿’。它是一个斯拉夫字符。

领导抢功劳,我改个变量名让他下岗了

怎么样,是不是靠目测是分辨不出了?

>>> ord('e') 101 >>> ord('е') 1077 

看出区别了么?

所以我们要是在项目代码中把e改成е的话,后果自己想吧。

后记

单个字母做变量名的情况很少,那么我们可以拿它与别的英文字母混用也是可以的。

领导抢功劳,我改个变量名让他下岗了

这个Bug排查起来肯定很酸爽。

本文仅供技术分享,现实生活中请勿模仿。

完 谢谢观看

展开阅读全文
分享
收藏

OK