python变量为什么不能以数字开头

任何事情只要有人规定成文了,必定有其原因所在,也就是有其合理性所在。

python变量为什么不能以数字开头

Python变量命名规则(推荐学习:Python视频教程)

变量名只能包含字母、数字和下划线。变量名可以字母或下划线开头,但不能以数字开头,例如,可将变量命名为message_1,但不能将其命名为1_message。

变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。

立即学习“Python免费学习笔记(深入)”;

不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。

变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。

慎用小写字母l和大写字母O,因给他们可能被人错看成数字1和0;

注意:应使用小写的Python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的注意。

那么它为什么不能以数字开头呢?这应该要从编译原理的角度来解释了吧。

这是我今天在做脚本解析时突然想到的。先来说明一下我们的这个语法解析工具,要解析的脚本很简单,只包括了&,|,~,=,!=,()和{}等操作符。开始时采用了编译原理的那一套,画NFA、DFA,找出状态然后再写词法分析生成Token,接着语法分析将生成的Token根据语义生成语法树,最后求值。后来想一想,这个脚本很简单只需要一个一个字符判断遇到不同类型的字符就进入到不同的子函数中进行处理,同时完成词法解析和语法分析以及求值的过程。不过无论使用那种方法都需要根据读入的字符来判断当前进入到哪个Token里了,这就是问题的关键所在。

为什么说判断字符属于哪个Token是关键呢?

假设我们取消掉了变量名定义中不能以数字开头的限制,这时当词法分析器进入到一个Token分析的起始状态时,如果读取的第一个字符为数字,那么词法分析器是无法判断它当前要分析的这个Token是变量名还是数字常量了。好,如果你说分析器可以根据后面的字符来判断的话,那么如果下一个字符为字母,那么很容易就判断出当前Token属于变量名(我们暂且忽略保留关键字),但是当如果接下来的字符全都是数字那怎么办?分析器将无法判断,因为变量名的定义中允许数字的存在。

 呵呵,上面也许说的比较绕口难于理解,用句简单的话来讲就是:当分析”123″这个字符串的时候,如果变量名允许第一个字符为数字,分析器就不知道“123”该是数值常量还是变量名了。

更多Python相关技术文章,请访问Python教程栏目进行学习!

以上就是python变量为什么不能以数字开头的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2253112.html

(0)
上一篇 2025年2月27日 01:19:40
下一篇 2025年2月23日 16:57:15

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python卸载不了怎么办

    python卸载不了怎么办? 当点击Uninstall进行卸载时,出现报错:No Python 3.6 installation was detected,无法卸载Python。  此时可以按照下面的步骤来解决: ● 打开C:UsersAd…

    2025年2月27日
    200
  • python为什么不能以数字开头

    任何事情只要有人规定成文了,必定有其原因所在,也就是有其合理性所在 Python变量命名规则(推荐学习:Python视频教程) 变量名只能包含字母、数字和下划线。变量名可以字母或下划线开头,但不能以数字开头,例如,可将变量命名为messag…

    2025年2月27日
    200
  • 怎么在cmd运行python

    步骤: (1)打开cmd。 立即学习“Python免费学习笔记(深入)”; (2)转到你要运行的文件所在的盘(例如:E盘)。输入: e: 回车 (3)打开你要运行的文件所在的文件夹(例如:E:ABCS)。输入:cd E:ABCS 回车 (4…

    2025年2月27日 编程技术
    200
  • 在电脑上怎么下载python

    首先在浏览器中输入python的官网,直接到官网下载编程软件。 点击【Download】,已在图中用红线画出。 这里要稍等一会,因为网站会自动检测操作系统,直接列出可下载的安装文件。当然也可以自己选择下载,但这里不推荐,所以不做介绍。 立即…

    2025年2月27日 编程技术
    200
  • python的线程join怎么用

    join的作用就凸显出来了,join所完成的工作就是线程同步,即主线程任务结束之后,进入阻塞状态,一直等待其他的子线程执行结束之后,主线程在终止。 join有一个timeout参数:(推荐学习:Python视频教程) 当设置守护线程时,含义…

    2025年2月27日
    200
  • 安装python怎么添加环境变量

    环境变量配置:          方法一:使用cmd命令添加path环境变量                   在cmd下输入: path=%path%;D:Python27  接着按”Enter”回车键。    …

    2025年2月27日
    200
  • python里join是什么意思

    python中有.join()和os.path.join()两个函数,具体作用如下:  . join():    连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串  os.path.join():  …

    2025年2月27日
    200
  • Python怎么去掉最后的空格

    strip()函数 去空格函数的用法 strip 同时去掉左右两边的空格(推荐学习:Python视频教程) lstrip 去掉左边的空格 rstrip 去掉右边的空格 立即学习“Python免费学习笔记(深入)”; 具体示例如下: >…

    2025年2月27日
    200
  • python的format什么意思

    format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。 1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型(推荐学习:Python视频教程) 2.单个参数可以多次输出,参数顺序可以不…

    2025年2月27日
    200
  • 人工智能为什么用python

    这属于一种误解,人工智能的核心算法是完全依赖于C/C++的,因为是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到。所以某种意义上其实C/C++才是人工智能领域最重要的语言。 Python是这些库…

    2025年2月27日
    200

发表回复

登录后才能评论