课时21:变量和标识符

简介: 今天大家分享变量与标识符号的相关知识,主要围绕以下三个部分展开。1.变量2.标识符3.命名规范

课时21:变量和标识符

 

摘要:今天大家分享变量与标识符号的相关知识,主要围绕以下三个部分展开。

1.变量

2.标识符

3.命名规范

 

前言:之前我们已经讲解了字面量和变量,并强调在后续使用中,不会直接使用字面量,而是要用变量来存储字面量,通过变量去使用这些字面量。

现在来讲下一个基础概念:变量和标识符。关于变量,我们要介绍在 Python 中如何使用它。为了便于说明,我们创建一个新的 Python 文件,命名为“03”并保存。由于之前的代码位置不当,我们将其移动到“Lesson 02”文件夹下的“Code”文件夹中,并确保保存好。

 

01. 变量


image.png

我们已经知道变量是用来保存不同值的。在大多数编程语言中,使用变量前需要先进行声明,比如在 JAVA 中,声明变量可能要写“Int”等关键字。但在 Python 中,使用变量无需声明,直接赋值即可。例如,想要使用变量“a”,直接写“a = 10”,然后执行“Print(a)”,就能得到值为10的变量“a”。

需要注意的是,在 Python 中不能使用未赋值的变量。比如,先给“a”赋值,再尝试打印未赋值的“b”,执行时就会报错,提示“Name 'b' is not defined”(即变量b未定义的名字错误)。只有当变量完成首次赋值后才能使用。例如,给“b”赋值“b = 33”后,再执行就不会报错了。

Python 是一种动态类型语言,这意味着我们可以为变量赋予任意类型的值,并且可以随意修改变量的值。例如,变量“a”先被赋值为10,之后可以赋值为字符串“Hello”,再次打印“a”时,输出的就是“Hello”。由此可见, Python 中的变量和数学中的变量类似,可以灵活地存储和改变值。

在实际开发中,像“a”“b”这样简单的变量名通常意义不大,一般不会使用。为了使代码更易理解,变量名应尽量具有描述性。比如,若有一个表示人年龄的数字18,变量名可以命名为“Age = 18”,通过变量名就能清楚该值的含义。

另外,在Sublime中操作时,有两个快捷键需要注意:“Ctrl + 斜杠”用于注释或取消注释代码;“Ctrl + 回车”用于换行。普通回车会将整行内容换行,而“Ctrl + 回车”只移动光标,光标后的内容不会移动。并且,当处于注释状态时,普通回车会使下一行也变为注释,“Ctrl + 回车”则不会有此情况。以上就是关于 Python 中变量的相关内容。

 

02. 标识符

 

image.png

说完变量,接着来讲标识符。在 Python 中,所有可自主命名的内容都属于标识符,比如变量名、函数名以及类名等。也就是说,这些名称虽可自行确定,但并非随意命名都可行。例如,定义变量“b = 20”,然后打印“b”,程序能正常运行。然而,若将变量名取为“if”,保存运行后会报错,提示语法错误。再尝试使用“ea”作为变量名,执行时同样会因非法语法报错。这表明,尽管变量名可自定义,但必须遵循标识符的相关规范。

 

03. 命名规范

 

image.png

标识符的规范主要有以下几点:

字符组成规范:标识符可包含字母、数字和下划线,但不能以数字开头。通常情况下,变量多以字母开头,仅在特殊情况下才会以下划线开头。例如,“a_1”“_A1”“_ea”是合法的标识符,而“1ab”“123b”则不合法。使用不符合标准的标识符,会引发“Invalid syntax”(非法语法)错误。

关键字和保留字限制:标识符不能是 Python 中的关键字和保留字。像“If”是 Python 中If语句的关键字,具有特定含义,不能用作标识符。保留字是 Python 目前未使用但未来可能会用到的,为避免潜在冲突也不能使用。例如,假设“ABC”是保留字,当下虽未使用,但如果允许用作变量名,一旦未来 Python 将其用作关键字,就需要修改所有使用该变量名的项目,会带来诸多不便。 Python 的关键字可在“Language reference”文档中通过搜索“Keywords”查看,无需刻意记忆,使用时若出现错误程序会给出提示。

image.png

函数名使用建议:不建议将 Python 的函数名作为标识符。例如,“Print”原本是函数,若将其赋值为“Print = 123”,此时“Print”不再是函数,而是变成了数值123。当尝试调用“Print(print)”时,就会报错,提示“int类型的对象不能被调用”,这是因为函数被覆盖了。实际开发中,对于常用函数名,应避免用作变量名,这需要通过经验积累来判断。

此外, Python 主要有两种命名规范:

下划线命名法:所有字母小写,单词之间用下划线分隔。当变量名较复杂时,如表示“最大长度”的变量“Maxlength”,写成“Max_length”能更清晰地分辨单词,便于阅读。这是 Python 中最常用的命名方法,变量名和文件名等应尽量采用。

帕斯卡命名法:也叫大驼峰命名法,即每个单词的首字母大写,其余字母小写。例如“MaxLength”“HelloWorld”。一般在定义类名时使用帕斯卡命名法,其他情况多使用下划线命名法。帕斯卡命名法因最早在Pascal语言中使用而得名。

image.png

总之,标识符若不符合上述规范会报错。这里给出一个小练习:尝试自行定义几个较为复杂的变量(避免使用“A”“B”“C”等简单变量名),然后打印这些变量,并自行搜索了解其他的命名规范。虽然命名规范并非强制要求,但遵循规范是行业习惯,在公司工作时,为了代码的可读性和可维护性,应尽量按照大家普遍的工作习惯和方式来命名。谢谢大家的观看!

相关文章
|
10月前
|
C语言
【C语言】标识符大通关!
标识符是编程语言中的基本元素之一。在C语言中,标识符用于命名变量、函数、类型、标签等。正确理解和使用标识符对于编写可读性强、易维护的代码至关重要。
332 2
【C语言】标识符大通关!
|
2月前
|
缓存 监控 Linux
CentOS系统如何查看当前内存容量。
以上方法都不需要特殊软件或者复杂配置即可执行,在CentOS或其他Linux发行版中都适合运行,并且它们各自透露出不同角度对待问题解答方式:从简单快速到深入详尽;从用户态到核心态;从操作层数到硬件层数;满足不同用户需求与偏好。
268 8
|
7月前
|
存储 安全 测试技术
零基础必看!Win10系统重装图文详解+安全下载链接,避坑神器
本教程详细介绍了重装Win10系统的完整流程,包括准备工作、制作启动盘、BIOS设置、系统安装、驱动安装与优化以及常见问题解决。准备工作中需确保U盘容量、下载官方镜像并备份重要数据;通过微PE工具箱制作启动盘;调整BIOS设置以支持U盘启动;使用DiskGenius分区并借助WinNTSetup加载镜像完成安装;最后优化系统性能并解决可能的故障,确保安装顺利进行。
|
8月前
|
人工智能 安全 Anolis
打造更 AI 的操作系统 《龙蜥+超级探访》第三期走进浪潮信息
且看龙蜥社区如何联合浪潮信息向更高层次的操作系统智能化迈进?
打造更 AI 的操作系统 《龙蜥+超级探访》第三期走进浪潮信息
|
10月前
|
存储 安全 算法
陪玩系统功能 陪玩平台 陪玩系统用户体验 陪玩系统安全性 陪玩系统开发
陪玩系统旨在为用户寻找合适的陪玩者,提供注册登录、资料展示、搜索匹配、预约支付、实时沟通及评价反馈等功能。平台拥有丰富的陪玩资源,便捷的预约流程,安全的支付环境和良好的用户体验。系统通过优化算法、提升沟通效率、丰富服务内容和建立社区互动来提升用户体验。安全性方面,系统采用数据加密、防火墙、支付安全和实名认证等措施。开发过程包括需求分析、系统设计、前后端开发、测试优化和上线推广。
874 2
|
SQL 安全 Windows
SQL安装程序规则错误解析与解决方案
在安装SQL Server时,用户可能会遇到安装程序规则错误的问题,这些错误通常与系统配置、权限设置、依赖项缺失或版本不兼容等因素有关
|
机器学习/深度学习 人工智能 自然语言处理
从头开始构建,DeepMind新论文用伪代码详解Transformer
从头开始构建,DeepMind新论文用伪代码详解Transformer
398 0
|
负载均衡 关系型数据库 MySQL
MySQL篇(四):玩转MySQL高可用,快速搭建Percona XtraDB Cluster(PXC)集群方案
玩转MySQL高可用,快速搭建Percona XtraDB Cluster(PXC)集群方案。
3217 0
|
机器学习/深度学习 人工智能 PyTorch
【Pytorch神经网络理论篇】 29 图卷积模型的缺陷+弥补方案
多层全连接神经网络被称为万能的拟合神经网络。先在单个网络层中用多个神经元节点实现低维的数据拟合,再通过多层叠加的方式对低维拟合能力进行综合,从而在理论上实现对任意数据的特征拟合。
626 0
|
存储
TIM定时中断(内含:1.TIM简介+2.定时器类型+3.基本定时器+4.通用定时器+5.高级定时器+6.定时中断基本结构+7.预分频器时序+8.计数器时序+9.计数器有/无预装+10.RCC时钟树)
TIM定时中断(内含:1.TIM简介+2.定时器类型+3.基本定时器+4.通用定时器+5.高级定时器+6.定时中断基本结构+7.预分频器时序+8.计数器时序+9.计数器有/无预装+10.RCC时钟树)
749 0
TIM定时中断(内含:1.TIM简介+2.定时器类型+3.基本定时器+4.通用定时器+5.高级定时器+6.定时中断基本结构+7.预分频器时序+8.计数器时序+9.计数器有/无预装+10.RCC时钟树)