Python的关键字
为什么不能使用关键字
在Python中还有一类名字是我们不能使用的,那就是我们本节要介绍的重点Python关键字,谈到了关键字,我就想到了古代避讳的故事。在古代是不允许别人使用皇帝的名字或者姓氏的。例如在隋唐演义里,就有一个人物叫做李元霸,但是他的原名并不叫做李元霸,而是叫做李玄霸。李玄霸这个名字还是有一个由来的,当年他的父亲李渊被贬到太原,在去往太原的路上他的母亲窦氏要生了,他们只能在一个道观借住一宿,所以李渊就将他的名字起为李玄霸,寓意玄门之霸,那么为什么在隋唐演义里却被改为李元霸了?原因其实很简单,因为隋唐演义这本书写于明末清初,而当时在位的皇帝是康熙。康熙的本名叫做爱新觉罗玄烨,而李玄霸这个名字中包含了一个玄字,为了避讳康熙这个玄字,所以作者将李玄霸改名李元霸。
Python中的关键字就和这个避讳的故事非常相似,因为关键字是Python中已经使用了,所以不允许开发者自己定义,那么我们在为变量起名字的时候,就要避讳这些Python中的关键字。在Python中关键字有哪些呢?我们可以打开IDLE查看一下。
import keyword #导入关键字模块
keyword.kwlist
全部关键字列表
下面输出的内容就是Python中的全部关键字,我们在为变量命名的时候,就要避开这些关键字,否则的话程序就会报错。
关键字 | 描述 |
---|---|
False | 布尔类型的假值 |
None | 表示空值或缺失值 |
True | 布尔类型的真值 |
and | 逻辑运算符,表示逻辑与,两个条件都满足时返回True |
as | 在with语句中用于取别名 |
assert | 断言语句,用于判断某个条件是否成立 |
async | 声明异步函数 |
await | 等待异步函数执行完成 |
break | 跳出循环 |
class | 类的关键字 |
continue | 跳过当前循环,进入下一个循环 |
def | 定义一个函数 |
del | 删除操作符,用于删除列表中的元素或者字典中的键值对 |
elif | if语句的一个分支,表示“否则,如果...” |
else | if语句的一个分支,表示“否则” |
except | 异常处理语句 |
finally | 无论异常是否发生,都会执行的代码块 |
for | for循环语句 |
from | 导入模块中的指定内容 |
global | 声明一个全局变量 |
if | 条件语句的关键字,表示如果...则... |
import | 导入一个模块 |
in | 成员运算符,用于判断某个元素是否在列表或字典中 |
is | 比较运算符,用于判断两个变量是否指向同一内存地址 |
lambda | 创建一个匿名函数 |
nonlocal | 声明一个非局部变量 |
not | 逻辑运算符,表示逻辑非,对条件取反 |
or | 逻辑运算符,表示逻辑或,两个条件有一个满足时返回True |
pass | 空语句,用于占位,不做任何操作 |
raise | 抛出一个异常 |
return | 返回一个函数的结果 |
try | 异常处理语句 |
while | while循环语句 |
with | 一种上下文管理器,用于管理资源,如文件、网络连接等 |
yield | 生成器函数中的关键字,用于生成一个迭代器 |
使用关键字错误提示
那你可能会问了,关键字这么多,我该怎么记忆呢?在这里提醒小伙伴们,关键是不需要我们记忆,当我们写代码写的比较熟练了,这些关键字你就会全知道了。而且在很多开发工具中,如果你使用了关键字,作为变量名,那么它会提示你错误信息,例如我在Pycharm中,为一个变量定一个关键字,来看一下定义False=12345,我刚编写完这章代码,这里就出现了一个红色的波浪线,把鼠标移到这里,看到下面有个提示:assignment to keyword,也就是说你在为关键字赋值,所以出现了红色的波浪线错误。