目录
- 1. print( 坑的信息 )
- 2. 开始填坑
- (1) 问题的由来
- (2) 网上搜索
- (3) 最终结论
- (4) 后记
1. print( 坑的信息 )
- 挖坑时间:2019/01/04
- 明细
坑的编码 | 内容 |
---|---|
Py002-1 | Python 的“关键字”与“保留字”有没有区别 |
2. 开始填坑
(1) 问题的由来
照理说,我不该这么折腾。
就我浅薄的知识而言,说到编程语言中的“关键字”,最先想到的还是 C。可能是先入为主的关系,后来简短地接触过一些编程语言,多少感觉听“关键字”比“保留字”更舒服,听“函数”比“方法”更舒服。
大概是接触 Java 时,知道了“关键字”与“保留字”存在音译以外的不同:比如 goto、const 等 Java 中的“保留字”并不在“关键字”行列,虽没有实际作用,但写代码时不能使用它们。它们这些“保留字”,就像有些电影公司先买下版权,不确定自己什么时候拍,但是别人就不能拍了;如果哪一天想拍,可以立马开拍。
我这回学 Python3,并不是像以前那样为了打发时间,而是想掌握这个有用的工具,所以想学得清楚明白。条件所限,我是买了书,在网上搜的课程学的,所以遇到问题时挖的坑说不好什么时候能填平。
那么,Python3 中的“关键字”与“保留字”,甚至还有“预留字”,到底有什么关系?
(2) 网上搜索
(我姑且先称其为“关键字”)
1 我在随笔中写了一种查看 Python3 中有多少关键字的方法:
help("keywords")
2 我发现,网友朋友们更多的是用以下方法:
import keyword
keyword.kwlist
3 我数了一下,他们列举出来的是 33 个关键字,而我自己运行出来的是 35 个。然后我查了一下版本,Python3.7 的第一版大概是 2018 年年初发布的,3.7 有 35 个关键字,至于 33 个关键字的版本,可能是 3.4。其实我不用数,Python 官网中点 What’s New In Python 3.7
然后查找 keywords
就能看到:
async
and await
are now reserved keywords
(3) 最终结论
- Python3.7 的关键字、保留字还有预留字是同一种东西,毕竟英文都是”keywords“。
- 如果想单独查看这些关键字,可以使用 help("***");如,想查”async“的更多信息,可以:
help("async")
(4) 后记
虽然我是一个人在学,但网上有这么多志同道合的朋友,我想,我并不是一座孤岛。
我的学识有限,如果有同学、老师或者前辈看到我写的东西,发现错误之处,还请不吝赐教!谢谢!
原文地址:https://www.cnblogs.com/yorkyu/p/10306369.html