课时21:变量和标识符
摘要:今天大家分享变量与标识符号的相关知识,主要围绕以下三个部分展开。
1.变量
2.标识符
3.命名规范
前言:之前我们已经讲解了字面量和变量,并强调在后续使用中,不会直接使用字面量,而是要用变量来存储字面量,通过变量去使用这些字面量。
现在来讲下一个基础概念:变量和标识符。关于变量,我们要介绍在 Python 中如何使用它。为了便于说明,我们创建一个新的 Python 文件,命名为“03”并保存。由于之前的代码位置不当,我们将其移动到“Lesson 02”文件夹下的“Code”文件夹中,并确保保存好。
01. 变量
我们已经知道变量是用来保存不同值的。在大多数编程语言中,使用变量前需要先进行声明,比如在 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 + 回车
”只移动光标,光标后的内容不会移动。并且,当处于注释状态时,普通回车会使下一行也变为注释,“C
trl + 回车
”则不会有此情况。以上就是关于 Python 中变量的相关内容。
02. 标识符
说完变量,接着来讲标识符。在 Python 中,所有可自主命名的内容都属于标识符,比如变量名、函数名以及类名等。也就是说,这些名称虽可自行确定,但并非随意命名都可行。例如,定义变量“b = 20”,然后打印“b”,程序能正常运行。然而,若将变量名取为“if”,保存运行后会报错,提示语法错误。再尝试使用“ea”作为变量名,执行时同样会因非法语法报错。这表明,尽管变量名可自定义,但必须遵循标识符的相关规范。
03. 命名规范
标识符的规范主要有以下几点:
字符组成规范:标识符可包含字母、数字和下划线,但不能以数字开头。通常情况下,变量多以字母开头,仅在特殊情况下才会以下划线开头。例如,“a_1”“_A1”“_ea”
是合法的标识符,而“1ab”“123b”
则不合法。使用不符合标准的标识符,会引发“Invalid syntax
”(非法语法)错误。
关键字和保留字限制:标识符不能是 Python 中的关键字和保留字。像“If”是 Python 中If语句的关键字,具有特定含义,不能用作标识符。保留字是 Python 目前未使用但未来可能会用到的,为避免潜在冲突也不能使用。例如,假设“ABC”是保留字,当下虽未使用,但如果允许用作变量名,一旦未来 Python 将其用作关键字,就需要修改所有使用该变量名的项目,会带来诸多不便。 Python 的关键字可在“Language reference
”文档中通过搜索“Keywords”查看,无需刻意记忆,使用时若出现错误程序会给出提示。
函数名使用建议:不建议将 Python 的函数名作为标识符。例如,“Print”
原本是函数,若将其赋值为“Print = 123
”,此时“Print”不再是函数,而是变成了数值123。当尝试调用“Print(print)
”时,就会报错,提示“int类型的对象不能被调用”,这是因为函数被覆盖了。实际开发中,对于常用函数名,应避免用作变量名,这需要通过经验积累来判断。
此外, Python 主要有两种命名规范:
下划线命名法:所有字母小写,单词之间用下划线分隔。当变量名较复杂时,如表示“最大长度”的变量“Maxlength”,写成“Max_length”能更清晰地分辨单词,便于阅读。这是 Python 中最常用的命名方法,变量名和文件名等应尽量采用。
帕斯卡命名法:也叫大驼峰命名法,即每个单词的首字母大写,其余字母小写。例如“MaxLength”“HelloWorld”。一般在定义类名时使用帕斯卡命名法,其他情况多使用下划线命名法。帕斯卡命名法因最早在Pascal语言中使用而得名。
总之,标识符若不符合上述规范会报错。这里给出一个小练习:尝试自行定义几个较为复杂的变量(避免使用“A”“B”“C”等简单变量名),然后打印这些变量,并自行搜索了解其他的命名规范。虽然命名规范并非强制要求,但遵循规范是行业习惯,在公司工作时,为了代码的可读性和可维护性,应尽量按照大家普遍的工作习惯和方式来命名。谢谢大家的观看!