Python 包含的保留字可以执行如下命令进行查看:
→import keyword
→keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
所有的保留字,如下表所示:
表 1 Python 保留字一览表
and
as
assert
break
class
continue
def
del
elif
else
except
finally
for
from
False
global
if
import
in
is
lambda
nonlocal
not
None
or
pass
raise
return
try
True
while
with
yield
需要注意的是,由于 Python 是严格区分大小写的,保留字也不例外。所以,我们可以说 if 是保留字,但 IF 就不是保留字。
1.and , or
and , or 为逻辑关系用语,Python具有短路逻辑,False and 返回 False
不执行后面的语句, True or 直接返回True,不执行后面的语句
2.del
删除变量
而列表本身包含的是变量,
3.from
from引用模块时会用到
4.golbal
golbal为全局变量,但当单个函数中出现同一变量名时,在单个函数中为局部变量
5.with
with被用来处理异常
紧跟with后面的语句被求值后,返回对象的enter()方法被调用,这个方法的返回值将被赋值给as后面的变量,此处为file
当with后面的代码块全部被执行完后,将调用前面返回对象的exit()方法
实际上,在with后面的代码块抛出任何异常时,exit()方法被执行。
正如例子所示,异常抛出时,与之关联的type,value和stack trace传给exit()方法,
因此抛出的ZeroDivisionError异常被打印出来了。
开发库时,清理资源,关闭文件等等操作,都可以放在exit方法当中。
6.while, for…in…
均为循环语句,使用while时要注意成立条件,防止陷入死循环
for in 遍历
7.assert
断言,声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。
可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。
8.pass
pass是空语句,为了保证程序结构的完整性,
pass不做任何事情,一般用作 占位语句
当你编写程序部分内容还没想好,可用pass语句占位
9.yield
yield的意思是生产,返回了一个生成器对象,每个生成器只能使用一次
一个带有 yield的函数就是一个generation,他和普通函数不同,生成一个generator看起来像函数调用,但不会执行任何函数代码,直到对其调用.next()(在 for 循环中会自动调用 next())才开始执行 虽然执行流程仍按函数的流程执行,但每执行到一个 yield 语句就会中断,并返回一个迭代值,下次执行时从 yield 的下一个语句继续执行。看起来就好像一个函数在正常执行的过程中被 yield 中断了数次,每次中断都会通过 yield 返回当前的迭代值。send() 与next()
10.break 与 contiue
Python break语句用来终止循环,用在while和for循环中!!直接跳出整个循环
嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码
break是跳出整个循环,continue是跳出当前循环
11.try except finally
如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。
如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。
如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。
12.raise
触发异常
raise [Exception[,args[,traceback]]]
语句中Exception是异常的类型(例如,NameError)参数是一个异常参数值。
该参数是可选的,如果不提供,异常的参数是”None”。
最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。
raise 触发异常后,后面的代码就不会再执行
die函数,打印错误信息
13.exec–eval–execfile
exec 用来执行储存在字符串或文件中的Python语句
exec是一条语句将字符串str当成有效的python代码来执行
eval与execfile是pytho内置函数
eval(str[globals[locals]])函数将字符串str当成有效的python表达式来求值,并提供返回计算值
execfile(filename)函数可以用来执行文件
from os.path import exists
exists(file)将文件名字符串作为参数,如果文件存在返回True,否则返回False
14.return
return 是函数返回值
15.lambda—filter—map—reduce—
lambda 只是一个表达式,定义了一个匿名函数,起到函数速写的作用
由于lambda只是一个表达式,它可以直接作为python 列表或python 字典的成员,比如map(function, sequence)
对sequence中的item 依次执行 function,将执行结果组成list返回单个参数
多个参数,要求函数接受多个参数
reduce(function, sequence, starting_value)
对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对List求和