Python 关键字和标识符

Jinku Hu 2023年1月30日 2018年3月2日
  1. Python 关键字
  2. Python 标识符
Python 关键字和标识符

在本节中,我们来讨论 Python 关键字和标识符。

Python 关键字

Python 关键字是具有特殊含义,而且不能用于命名任何变量、函数、类等的预先内部占用的字符。关键字也被称为保留单词,它们实际上是为 Python 的自身的功能保留的。

Python 有 33 个区分大小写的关键字。除 TrueFalseNone 外,其中大部分都以小写字母写入。以下是 Python 关键字列表:

关键字 说明
class 类 - Python 面向对象编程中的类
as 经常同 import 以及 with 配合使用,用新的名称来代替导入或打开的对象
and 逻辑与操作符
assert 检查语句是否为 True
break 用来跳出循环操作,比如 forwhile 循环
continue 中止当前循环的该次操作,跳到循环的下一个次操作
def 定义函数关键字
del 删除对象操作符
elif 循环条件检查,意思=else if
else if 条件不为 True 的时候,else 里面的语句就会被执行
except 处理异常
finally finally 从句中的内容无论异常是否发生都会被执行,用来做一些清理工作
for for 循环
from 导入 Python 模块,语法为 from ... import ...
global 声明一个全局变量
if if 声明,当条件为 True 时,if 下的语句才会被执行
import 从模块中导入函数、类或者变量
in 1. 成员对象检查操作符 2. 遍历序列中的对象, for x in SequenceObject
is 检查两个变量是否指向同一内存对象
lambda 创建 lambda 函数,也称为匿名函数
not 逻辑非操作符
or 逻辑或操作符
pass 空操作符,类似于汇编语言中的 nop
raise 触发异常
return 返回,从函数中返回
try try...except 检查 try 语句中的错误,有错误的话,except 会捕获并处理异常
while while 循环
with 替代 try...finally...
yield 类似于 return,但返回的是一个发生器 generator
nonlocal 声明变量为非内部变量,在嵌套式的函数中,变量被声明为 nonlocal 后,该变量可被外层的函数调用
None 空变量 null
True 布尔值-真
False 布尔值-假

Python 标识符

Python 标识符是函数、变量、类等的名称。Python 保留字比如关键字不允许作为为标识符的名称。

命名标识符的规则

  1. 标识符可以包含字母(大写或小写),数字(0-9)或下划线(_),例如,last_name1my_first_nameCapName 是合法标识符。
  2. 标识符不能以数字来开头,例如,1last_name 是非法标识符。
  3. 关键字不允许作为为标识符的名称。
  4. 标识符中不允许使用诸如 $, !, @, #, % 等特殊符号。
  5. Python 标识符没有长度限制。
  6. Python 标识符中不允许出现空格。

标识符要点

  1. 由于 Python 区分大小写,所以大写和小写的变量是不同的。比如 last_nameLAST_name 是两个不同的变量。
  2. 使用有意义的变量名称,提高程序的可读性。
  3. 如果变量中包含多个单词,它们应该用下划线分开。
  4. 或者你可以用驼峰式大小写,也就是每个单词的首字母大写,例如 CapitalizedWords
Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn