Python 关键字和标识符
Jinku Hu
2023年1月30日
2018年3月2日
在本节中,我们来讨论 Python 关键字和标识符。
Python 关键字
Python 关键字是具有特殊含义,而且不能用于命名任何变量、函数、类等的预先内部占用的字符。关键字也被称为保留单词,它们实际上是为 Python 的自身的功能保留的。
Python 有 33 个区分大小写的关键字。除 True
,False
和 None
外,其中大部分都以小写字母写入。以下是 Python 关键字列表:
关键字 | 说明 |
---|---|
class |
类 - Python 面向对象编程中的类 |
as |
经常同 import 以及 with 配合使用,用新的名称来代替导入或打开的对象 |
and |
逻辑与操作符 |
assert |
检查语句是否为 True |
break |
用来跳出循环操作,比如 for 、while 循环 |
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 保留字比如关键字不允许作为为标识符的名称。
命名标识符的规则
- 标识符可以包含字母(大写或小写),数字(0-9)或下划线(_),例如,
last_name1
,my_first_name
和CapName
是合法标识符。 - 标识符不能以数字来开头,例如,
1last_name
是非法标识符。 - 关键字不允许作为为标识符的名称。
- 标识符中不允许使用诸如
$, !, @, #, %
等特殊符号。 - Python 标识符没有长度限制。
- Python 标识符中不允许出现空格。
标识符要点
- 由于 Python 区分大小写,所以大写和小写的变量是不同的。比如
last_name
和LAST_name
是两个不同的变量。 - 使用有意义的变量名称,提高程序的可读性。
- 如果变量中包含多个单词,它们应该用下划线分开。
- 或者你可以用驼峰式大小写,也就是每个单词的首字母大写,例如
CapitalizedWords
。
Author: Jinku Hu
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