Python必须了解的35个关键词


Posted in Python onJuly 16, 2020

每种编程语言都会有一些特殊的单词,称为关键词。对待关键词的基本要求是,你在命名的时候要避免与之重复。本文将介绍一下Python中的关键词。关键词不是内置函数或者内置对象类型,虽然在命名的时候同样也最好不要与这些重名,但是,毕竟你还可以使用与内置函数或者内置对象类型重名的名称来命名。关键词则不同,它是不允许你使用。

在Python3.8中提供了35个关键词,如下所示:

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

如果打算在交互模式里面查看关键词,可以使用help():

>>> help("keywords")

Here is a list of the Python keywords. Enter any keyword to get more help.

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

对每个关键词的详细说明,也可以用help()查看:

>>> help('pass')  # 敲回车后出现下面的内容

The "pass" statement
********************

  pass_stmt ::= "pass"

"pass" is a null operation — when it is executed, nothing happens. It
is useful as a placeholder when a statement is required syntactically,
but no code needs to be executed, for example:

  def f(arg): pass  # a function that does nothing (yet)

  class C: pass    # a class with no methods (yet)

除了上面的方法之外,还有一个标准库的模块keyword提供了关键词查询功能。

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', ...
>>> len(keyword.kwlist)
35

那么,这些关键词如何使用?在什么情景下应用?下面以示例的方式对部分关键词进行说明。

True、False和None

True和False是布尔类型的两个值,注意必须首字母大写。

>>> x = True
>>> x is True
True

>>> y = False
>>> y is False
True

如果我们要判断某个对象的布尔值是True还是False,可以使用bool()函数实现,例如:

>>> x = "this is a truthy value"
>>> x is True
False
>>> bool(x) is True
True

>>> y = "" # 这个是假
>>> y is False
False
>>> bool(y) is False
True

注意,如果向bool()传入的参数是0, "", {}, []中的任何一个,返回值都是False。

在条件语句中,本来是要判断条件是否为True,但是,通常不需要直接与True或者False进行比较,依靠Python解析器自动进行条件判断。

>>> x = "this is a truthy value"
>>> if x is True: # 不要这么做
...   print("x is True")
...
>>> if x: # 应该如此写
...   print("x is truthy")
...
x is truthy

None这个关键词,在Python中表示没有值,其他语言中,同样的含义可能会用null,nil,none,undef,undefined等。None也是函数中没有return语句的时候默认返回值。

>>> def func():
...   print("hello")
...
>>> x = func()
hello
>>> print(x)
None>>> def func():
...   print("hello")
...
>>> x = func()
hello
>>> print(x)
None

and、or、not、in、is

这几个关键词,其实都对应着数学中的操作符,如下表所示。

数据符合 关键词
AND, ∧ and
OR, ∨ or
NOT, ¬ not
CONTAINS, ∈ in
IDENTITY is

Python代码具有很强的可读性,通过关键词就能一目了然晓得是什么操作。

这几个关键词比较好理解,这里仅提醒注意在Python中有一个著名的短路运算,例如and:

<expr1> and <expr2>
 
不要将上面的式子理解成两边都是真的时候返回True。对此,在**《Python大学实用教程》**一书中有非常详细的说明,请参阅。另外一个就是or,也存在短路运算。

break、continue和else
这几个是经常用于循环语句的关键词。

break 的作用是终止当前循环,其使用的基本格式:

for <element> in <container>:
  if <expr>:
    break
举个例子:

>>> nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> sum = 0
>>> for num in nums:
...   sum += num
...   if sum > 10:
...     break
...
>>> sum
15

continue则是要跳过某些循环,然后让循环继续。

for <element> in <container>:
    if <expr>:
        continue

 else在条件语句中有,这里提到它,是在循环语句中,它的作用是当循环结束后还要继续执行的代码。

在for循环中,使用格式如下:

for <element> in <container>:
    <statements>
else:
    <statements>

 
在while循环中,使用格式如下:

while <expr>:
    <statements>
else:
    <statements>

例如,有时候我们要在循环语句中使用一个旗帜变量:

>>> for n in range(2, 10):
...   prime = True
...   for x in range(2, n):
...     if n % x == 0:
...       prime = False
...       print(f"{n} is not prime")
...       break
...   if prime:
...     print(f"{n} is prime!")
...
2 is prime!
3 is prime!
4 is not prime
5 is prime!
6 is not prime
7 is prime!
8 is not prime
9 is not prime

在上面的代码中,prime就是一个旗帜变量,如果循环正常结束,prime的值就是True,否则,就是False。如果从循环中退出了,第8行判断这个变量的值,如果为True则打印相应内容。

对于上面的代码,如果用else改写,可以更简洁,并且可读性更强。

>>> for n in range(2, 10):
...   for x in range(2, n):
...     if n % x == 0:
...       print(f"{n} is not prime")
...       break
...   else:
...     print(f"{n} is prime!")
...
2 is prime!
3 is prime!
4 is not prime
5 is prime!
6 is not prime
7 is prime!
8 is not prime
9 is not prime

以上就是Python必须了解的35个关键词的详细内容,更多关于Python 关键词的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
web.py 十分钟创建简易博客实现代码
Apr 22 Python
python抓取并保存html页面时乱码问题的解决方法
Jul 01 Python
python简单实现获取当前时间
Aug 27 Python
python中数据爬虫requests库使用方法详解
Feb 11 Python
Python实现的企业粉丝抽奖功能示例
Jul 26 Python
python命令 -u参数用法解析
Oct 24 Python
10个Python面试常问的问题(小结)
Nov 20 Python
Python通过4种方式实现进程数据通信
Mar 12 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 Python
Python命名空间及作用域原理实例解析
Aug 12 Python
pytorch通过训练结果的复现设置随机种子
Jun 01 Python
Python自动化工具之实现Excel转Markdown表格
Apr 08 Python
Python子进程subpocess原理及用法解析
Jul 16 #Python
python redis存入字典序列化存储教程
Jul 16 #Python
Python是怎样处理json模块的
Jul 16 #Python
Python2手动安装更新pip过程实例解析
Jul 16 #Python
解决redis与Python交互取出来的是bytes类型的问题
Jul 16 #Python
Python 使用 PyQt5 开发的关机小工具分享
Jul 16 #Python
Python csv文件记录流程代码解析
Jul 16 #Python
You might like
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
javascript 学习之旅 (3)
2009/02/05 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
javascript中IE浏览器不支持NEW DATE()带参数的解决方法
2012/03/01 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
2017/03/21 jQuery
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
让python在hadoop上跑起来
2016/01/27 Python
django+js+ajax实现刷新页面的方法
2017/05/22 Python
Flask数据库迁移简单介绍
2017/10/24 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
PYTHON如何读取和写入EXCEL里面的数据
2019/10/28 Python
python 识别登录验证码图片功能的实现代码(完整代码)
2020/07/03 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
Python OpenCV中的numpy与图像类型转换操作
2020/12/11 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
西班牙高科技产品购物网站:MejorDeseo
2019/09/08 全球购物
干部年终考核评语
2015/01/04 职场文书
员工工作心得体会
2019/05/07 职场文书