服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

假如变量名允许以数字开头...

日期: 来源:脚本之家收集编辑:小K
将 脚本之家 设为“星标
第一时间收到文章更新

出品 | 麦叔编程 (ID:maishucode)

已获得原公众号的授权转载

假如变量名允许以数字开头...

最近有同学问我,“变量名为什么宁可使用_这种符号开头,也不能使用数字开头?”

不知道大伙在学编程的时候有没有这样的疑问?(我当年就有。)

今天分析下这个规定存在的原因。

先声明:并不是所有语言都不支持数字作为开头的变量名。

重温对变量的定义

变量是一种用于存储和表示数据的标识符。

变量名是给定变量的名称,可以在代码中引用该变量。

重温Python的命名规则

  • 第一个字符必须是字母表中字母或下划线 _;
  • 标识符的其他的部分由字母、数字和下划线组成;
  • 标识符对大小写敏感;

在Python3中,可使用中文作为变量名,非ASCII标识符也是允许的了。

人类容易造成混淆

假如允许首数字的变量名存在,那么下面这行代码我们将如何理解?

0x756b5b3 = 0x756b5b3

我将一个十六进制的数赋给了0x756b5b3变量???

如果我后面把值0x756b5b3修改了,那0x756b5b3变量肯定会干扰我正常的思绪。

这里肯定有人说了,不要起那么复杂的变量不就行了~~

再看看下面的这行代码:

1e5 = 1e6

我要使用1e5的时候,却给了我1e6(值)。。。我估计会炸吧。。。

如果都使用这种命名规则,我是会分不清它是一个变量还是一个数字常量

所以编程语言中不允许使用数字作为变量的开头,很大一部分原因为了避免与数字常量产生混淆提高代码的可读性和可维护性

计算机容易造成混淆

在编译器或者解释器都会有一个词法分析器。

词法分析器在判断一个词是否以数字开头,如果是以数字开头则把他当作数字常量处理,否则当作普通单词处理。

这个规则可以提高不少词法分析器的效率。

总结

虽然有很少部分编程语言可能允许数字作为变量的开头,但这并不是一个良好的编程实践。

在日常编写代码时,我们都应该遵循语法规则和良好的编程实践,选择有意义的变量名来提高代码的可读性和可维护性。

彩蛋

请阅读以下代码,看你先崩溃还是电脑先崩溃?

1 = 2

if 1 == 2:
  print("1 等于 2 吗?")
else:
  print("2 等于 2 吗?")



  推荐阅读:
这是一件程序员才懂的T恤
ChatGPT能取代多少程序员?
面试黑话翻译,听懂就是避坑
C++17一个很冷门很有意思的新特性
程序员痴迷写脚本?这是不是一种病...
Office 2019/2021专业增强版,正版终身授权!
<END>

大家注意:因为微信最近又改了推送机制,经常有小伙伴说错过了之前的文章,比如一些送书的限时福利,错过了就是错过了。


所以建议大家加个星标,就能第一时间收到推送。

相关阅读

  • 正常的乳房到底长什么样?(内附图解)

  • 文 |六团队 来源:第十一诊室(ID:consultingroom_11)(点击关注叨叨,科学育儿不走丢~)有很多朋友在后台问小助手,为什么总感觉叨叨账号神出鬼没的,有时候能看到,有时候看不到?其实这是因
  • 初中语文答题模板,学霸技巧书,不容错过

  • 提起初中语文,经常能看到很多家长和学生反馈:“初中语文分数最难提高了”;“碰到阅读理解完全不知道从哪下手”;“读了很多文章,一做题还是找不到得分点”;“积累了很多好词好句写
  • 葬礼上,泽连斯基面色沉重,他“诡异微笑”

  • 据俄媒报道,乌克兰总统泽连斯基与芬兰总理马林3月10日为一名阵亡的军人举行葬礼。画面显示,泽连斯基和马林当时都面色沉重,但站在他们身后的一名男子则是满脸笑意。(更多国际新
  • 这个针对中国旅客的要求,美国宣布取消

  • 据美国疾病控制与预防中心(CDC)网站消息,美国从当地时间10日起,取消针对中国赴美旅客的强制性新冠病毒检测要求。CDC在声明中称,此前发布的要求中国赴美旅客提供新冠阴性证明或近
  • 启真湖“鹅鸭家族”揭秘

  • 春意盎然,万物复苏求是园迎来一片生机勃勃在启真湖畔,一群“小先知”们已经开始欢迎春的到来启真湖东侧“鹅鸭家族”每逢课间,他们总会吸引同学们驻足观看今天,小浙带你去看“鹅

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 假如变量名允许以数字开头...

  • 将 脚本之家 设为“星标⭐”第一时间收到文章更新出品 | 麦叔编程 (ID:maishucode)已获得原公众号的授权转载假如变量名允许以数字开头...最近有同学问我,“变量名为什么宁可使
  • 华为即将推出全新品牌

  • 据“看山的叔叔”消息,华为将在 3 月 23 日举行发布会,发布全新商用品牌“华为擎云”。消息称华为上线擎云品牌后,商用笔记本命名不再使用MateBook品牌。日前,华为宣布擎云 G540