CC++ & Algorithm

Python标识符与关键字

简单5
语言版本:C++Python
概述:标识符是给变量、函数起的名字,必须遵守规则;关键字是Python保留的、有特殊用途的单词,不能用来起名。

给变量起个好名字:Python 的标识符与关键字

给变量、函数起名,就像给自己的宠物或班级的同学起外号一样,既要好记,又得遵守「家规」。在 Python 里,这些名字叫做 标识符,而 Python 自己留了一些有特殊含义的词,叫作 关键字(也叫保留字),不允许我们拿来当名字用。搞懂这两样东西,你写代码时就不会莫名其妙地报错了。


一、标识符的起名规则

标识符可以是字母、数字和下划线(_)的组合,但 不能以数字开头。就像你给同学起外号,不能上来就叫“2号同学”,因为大家会听不懂。

合法的标识符示例:

my_name = "小明"        # 字母和下划线
score2 = 98             # 字母和数字,数字在中间
_private = "秘密"       # 以下划线开头(有特殊含义,但语法上合法)
total_score = 100       # 多个单词用下划线连接(推荐写法)

非法的标识符示例:

2nd_place = 88          # 错误!数字开头
my-name = "小红"        # 错误!不能包含连字符(-)
class = "一班"          # 错误!class 是关键字(见下文)

注意:大小写是敏感的。Namename 是两个不同的变量。就像班级里“李明”和“李鸣”不是同一个人。


二、关键字——Python 自己的“禁词”

Python 提前保留了一些单词,比如 ifforwhileTrueFalseNoneandornot 等,它们有特殊的语法功能。如果你试图用它们做变量名,Python 会直接报错。

例如:

True = 1                # 错误!True 是关键字,不能赋值
if = "条件"             # 错误!if 是关键字

你可以在 Python 里查看所有关键字:

import keyword                     # 导入关键字模块
print(keyword.kwlist)              # 打印关键字列表

运行结果会像这样(版本不同略有差异):

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break',
 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally',
 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal',
 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

这些词你一眼就能认出:if(如果)、else(否则)、for(循环)、while(当…时)、True(真)、False(假)、None(无)等等。将来你学更多语法时,它们会频繁出现。


三、生活中的比喻,帮你记住规则

  • 班级学号:每个同学有一个唯一学号(标识符),不能重复,也不能写成“班主任”(关键字)。
  • 零食包装上的名称:比如“薯片”“巧克力”是品类名(关键字),你不能把一包新零食取名叫“薯片”,因为Python已经用它来表示某种口味了。
  • 考试排名:变量名 rank1rank2 可以,但 1st 就不行(数字开头)。

四、新手容易犯的错误

  1. 数字开头:比如 3students,这是最常见的错误。
  2. 使用关键字:比如 class = "Python",一运行就会报 SyntaxError: invalid syntax
  3. 包含特殊符号:比如 $moneymy-var,Python 只接受字母、数字和下划线。
  4. 大小写混淆scoreScore 是两个不同的变量,容易让代码逻辑混乱(虽然语法上没错)。
  5. 忘记下划线:多个单词时推荐用下划线连接,比如 my_score,不要用 myscore(难读)或 myScore(驼峰式也可以,但中小学生推荐下划线风格)。

五、完整可运行示例

下面这个程序先打印出所有关键字,再演示正确与错误的变量名:

import keyword

# 1. 打印 Python 所有关键字
print("Python 关键字列表:")
print(keyword.kwlist)
print()  # 空一行

# 2. 正确的变量名
my_age = 12               # 年龄
score_math = 95           # 数学成绩
_name = "秘密"            # 以下划线开头(可以,但通常用于内部变量)

# 3. 错误的变量名(注释掉,以免运行报错)
# 2nd_place = 100        # 数字开头,会报错
# class = "一班"         # class 是关键字,会报错
# my-var = 10            # 连字符,会报错

# 4. 输出看看
print("我的年龄:", my_age)
print("数学成绩:", score_math)
print("秘密名字:", _name)

运行结果(部分):

Python 关键字列表:
['False', 'None', 'True', 'and', 'as', 'assert', ...]
我的年龄: 12
数学成绩: 95
秘密名字: 秘密

注意:上面的错误示例被注释掉了,你可以把注释去掉试试,看看报错信息长什么样子。


六、相关知识点指引

你已经学会了如何给变量起一个合法的名字。接下来可以学习:

  • 变量与数据类型:名字起好了,里面可以放数字、文字、真假值等。
  • 命名规范:除了规则,还有大家约定俗成的习惯(如常量全大写、避免单字符变量名)。
  • Python 中的保留字与内置函数:关键字不能做变量名,但像 printlen 这种内置函数名,虽然技术上可以覆盖(不推荐),但新手最好也别用。

记住:规则是底线,好名字能让你的代码像一篇清晰的作文,而不是天书。加油!

例题精讲

1单选题

下列选项中,哪一个可以作为Python合法的标识符?

A2name
Bmy_var
Cfor
D@list
2单选题

以下选项中,哪一个是Python中的关键字(保留字)?

Aprint
Btype
Cif
Dstring
3判断题

在Python中,标识符是区分大小写的,例如“Name”和“name”是不同的标识符。

4判断题

在Python中,“True”是一个关键字,不能用作变量名。

5填空题
定义变量并赋值:请在下划线处填入一个合法的标识符(不能是关键字),使代码能够正确执行。
___ = 18