Python有哪些关键字?如何查找?

方法一:官网上当然能查到


方法二:在python程序里面查找:


程序中查找

总共33个关键字,接下来简单介绍和演示:条件判断相关:

if elif else and or is not in True False

上面10个关键字非常简单,if elif else就是如果xx那么xx,如果yy那么yy,否则zz。

and or也是很容易理解的逻辑关系:真and真=真,真and假=假,真or假=真,假or假=假……太简单,就不废话了。

is not in True False从字面上就能知道意思,值得一提的是'is'和'=='的区别:

python中的对象都是有id的,'is'是比较id,即判断是否是同一个对象,而'=='是判断对象的值是否相同,举例说明:

>>> a = 1
>>> b = 1.0
>>> print(a == b , a is b)
True False
>>> print(id(a),id(b))
1577329360 2519031456344

另外,在python里面,True和False是有值的,对应1和0,举例说明:

>>> print(True+False,True+True,True+3,False-2,True==1,False==0,True is 1,False is 0)
1 2 4 -2 True True False False

一目了然吧?

接下来是和循环相关的关键字:for while break continue

用一个列表解析式来演示for的使用:

>>> a = [i for i in range(5)]
>>> a
[0, 1, 2, 3, 4]

while xx,直到条件xx不满足时才退出。比如常见的while True:,这种就是死循环,使用break可跳出循环。

break和continue都和跳出循环有关,注意它们的差异,举例说明:


跳出循环

如上图的代码所示,当i==3时,continue跳出了当前循环,没有继续执行下面的print(i)语句,但然后继续整个循环,因此打印的数字里面只缺失了3。使用break时,i==3直接退出循环,后面的数字4也就没打印了。

还有一些比较常用的关键字:

def ljds(): def是定义一个函数。

class ljds(): class是定义一个类。

pass :占位符,是个空语句,只是为了保证程序结构的完整性。(不完整会报错,所以加个pass放在那里喽)

None:空对象。

import、from、as都是导入模块使用的。举例说明:

import re:导入正则表示模块

from bs4 import BeautifulSoup:导入bs4模块中的BeautifulSoup函数。

import sys as ljds:导入sys模块,并重命名为ljds。

当然as不是只能用于导入模块,读写文件也是能用的,比如:

with open('ljds.txt','w') as f:

try except finally raise assert关键字主要用于处理异常:try后面写可能出现异常的代码,在except中捕获异常。finally后的语句总会执行。raise用于引发异常。assert是断言语句。

del:举例说明:

>>> a = ['ljds','Sean','Sting','Tom']
>>> del(a[0])
>>> a
['Sean', 'Sting', 'Tom']

return和yield,使用方法很相似,但差别还是比较大的。举例说明:


return

yield

查看两个函数的类型:

print(type(ljds1) , type(ljds2))

可以看出,一个是列表,一个是生成器。关于生成器不详细介绍了,只是说下它的优点是节省资源。列表把所有数据一次性加入内存,生成器是每次把一个数据放进内存……

global:可以修改全局变量。举例说明:


global

执行ljds()这个函数之前,a=2,执行函数后,在函数里修改了全局变量a,此时print(a)已经是4了。

nonlocal:用来在函数或其他作用域中使用外层变量。(这个关键字对我来说是最陌生的,根据定义我以为理解了,但实验出的结果令我很困惑,不在这里演示了……)

lambda:匿名函数。举例说明:

ljds = lambda arg : arg * 2
result = ljds(5)
result
Out[87]: 10

本文只是对python关键字做的简单总结,没有做到每个关键字都举例,并且可能还有不严谨的地方,欢迎批评指正。

最后,想学习Python的小伙伴们!