「python」33个Python关键字的简单总结

[复制链接]
bigocean 发表于 2017-12-31 08:17:57 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
Python有哪些关键字?如何查找?. `' U$ N* M4 A& c3 u$ e' q

3 y* A# |* S) S0 ~2 N# h方法一:官网上当然能查到
' K4 z( `: ^3 g官网截图
! }" q* a5 Z  @- ?# }方法二:在python程序里面查找:
" j& |: B5 M4 W9 x程序中查找
' x% w$ `! i, j总共33个关键字,接下来简单介绍和演示:0 n0 H1 C  V. Q; b+ [

: `3 U1 V4 S6 F" e
条件判断相关:: a2 g1 U/ C, G7 t- [
if elif else and or is not in True False# C8 G( Z6 J* }
上面10个关键字非常简单,if elif else就是如果xx那么xx,如果yy那么yy,否则zz。0 ?* C- R$ O4 c3 y0 x
and or也是很容易理解的逻辑关系:真and真=真,真and假=假,真or假=真,假or假=假……太简单,就不废话了。
" k& h, k" `, r! _is not in True False从字面上就能知道意思,值得一提的是'is'和'=='的区别:3 {9 B- L6 G# k4 m- w; h; b
python中的对象都是有id的,'is'是比较id,即判断是否是同一个对象,而'=='是判断对象的值是否相同,举例说明:9 G7 O  |; O0 o
- B; V+ P5 \% ?" }7 Q* l
>>> a = 1, g" u4 Z3 P& ^2 a3 N) F, f
>>> b = 1.0
2 s  a1 H6 f0 a>>> print(a == b , a is b)3 W) z6 |" ]/ j) V4 j* S# ^
True False
9 E" i( |2 L* w4 W>>> print(id(a),id(b))$ Q) z4 T" j  G6 }# N; A' P
1577329360 2519031456344
$ c' U% |0 F+ E3 J# _! }4 Q
另外,在python里面,True和False是有值的,对应1和0,举例说明:
/ C4 \- n7 X  A: E2 Z: q
>>> print(True+False,True+True,True+3,False-2,True==1,False==0,True is 1,False is 0)  I6 {; E0 v. q- t9 L2 t( N
1 2 4 -2 True True False False1 A% i8 M3 O% Y8 ?! B9 W( U6 {
一目了然吧?
" _6 x. x# P! L$ @2 d$ s( D( e, v, H0 O
接下来是和循环相关的关键字:3 _6 _0 {! o0 G$ z" M- L- e- X# K
for while break continue
4 s/ R0 P6 s( i# |( c) G; W
用一个列表解析式来演示for的使用:
& z5 o9 h1 d2 }: R, P  W
>>> a = [i for i in range(5)]1 |9 ]1 i+ Z4 u- f
>>> a
6 ?/ `  b$ ]3 Z0 {[0, 1, 2, 3, 4]8 m+ j8 E0 o- W3 j2 X/ C: \
while xx,直到条件xx不满足时才退出。比如常见的while True:,这种就是死循环,使用break可跳出循环。2 S8 i0 F9 A7 j& @# Z' ?! T' v
break和continue都和跳出循环有关,注意它们的差异,举例说明:
/ W; y. m# T. Y2 Q' v; k9 N+ H! w+ g6 w
跳出循环1 k+ L7 c8 ^; C; ~- M: d4 M
如上图的代码所示,当i==3时,continue跳出了当前循环,没有继续执行下面的print(i)语句,但然后继续整个循环,因此打印的数字里面只缺失了3。使用break时,i==3直接退出循环,后面的数字4也就没打印了。
) C# @( `: x3 s6 P& z- W8 W' x2 S! ]; ~& v' \
还有一些比较常用的关键字:
  o3 x" r* J7 Y! @; [8 t2 l( u- G3 x6 d2 [6 Q' @
def ljds(): def是定义一个函数。* V; e9 _! E8 r
1 k7 N4 p' C# d* I4 N
class ljds(): class是定义一个类。
! o+ w5 o) z- C1 M+ {1 C2 apass :占位符,是个空语句,只是为了保证程序结构的完整性。(不完整会报错,所以加个pass放在那里喽)* A; ~+ D9 E& l/ D1 D
None:空对象。
6 j% @) L3 L  p8 T& N" b4 vimportfrom、as都是导入模块使用的。举例说明:) X" A0 C* n; F/ y/ e
import re:导入正则表示模块
; @! C/ F6 d+ tfrom bs4 import BeautifulSoup:导入bs4模块中的BeautifulSoup函数。; @+ j  l! x) s% f
import sys as ljds:导入sys模块,并重命名为ljds。
9 G5 I  N4 p. P, n6 S, S; M* t当然as不是只能用于导入模块,读写文件也是能用的,比如:
+ I1 g8 U2 p4 k) b; `- S6 H$ Gwith open('ljds.txt','w') as f:& L2 {: H% t5 W2 L1 A, D9 s

) Y, a. t3 o0 J* @' w( p- Z# Gtry except finally raise assert关键字主要用于处理异常:try后面写可能出现异常的代码,在except中捕获异常。finally后的语句总会执行。raise用于引发异常。assert是断言语句。
' s$ r# U1 N7 B  k( m2 C6 F4 _del:举例说明:
8 \5 i9 W3 d# M( @% ~+ {
>>> a = ['ljds','Sean','Sting','Tom']
9 ^5 B# x8 d/ L5 Q$ x$ m>>> del(a[0])% H! F6 r, y% X  i1 ^& J) \
>>> a
/ e* v; p$ N. g& ]: U['Sean', 'Sting', 'Tom']- i; @( H8 B+ @& X% B9 W
returnyield,使用方法很相似,但差别还是比较大的。举例说明:
; J5 W+ g3 \0 Q3 H/ t7 @/ w/ \$ _7 _1 p
return0 Y" ^, h! h6 v6 O: q
8 I& n, z8 g' N/ w( s( V( A1 T, G( j
yield
7 f$ p" @( B# o; Q5 [查看两个函数的类型:
( g6 f! D5 X" U# v' G% }0 P# |5 ?
print(type(ljds1) , type(ljds2))
' r8 i5 z0 i' C; f' b7 o<class 'list'> <class 'generator'>' g! ]4 d+ [! c) s- q
可以看出,一个是列表,一个是生成器。关于生成器不详细介绍了,只是说下它的优点是节省资源。列表把所有数据一次性加入内存,生成器是每次把一个数据放进内存……
/ G* s' N, A7 oglobal:可以修改全局变量。举例说明:
0 G( C' J- @5 W0 V
/ i$ z, v, b$ h3 Xglobal" ^4 f: ?, ^: d
执行ljds()这个函数之前,a=2,执行函数后,在函数里修改了全局变量a,此时print(a)已经是4了。
& X1 B0 v  n5 A2 Y9 Z$ G5 a! a; ]2 J4 s0 V; Q
nonlocal:用来在函数或其他作用域中使用外层变量。(这个关键字对我来说是最陌生的,根据定义我以为理解了,但实验出的结果令我很困惑,不在这里演示了……)
% v" Z# J: [3 ulambda:匿名函数。举例说明:" p) F5 n6 G5 Q6 L
. X! C: r/ ~7 i5 n. e. b' ^4 Y
ljds = lambda arg : arg * 2
+ N9 u" D& [/ C* D4 j# R5 Yresult = ljds(5)0 K) c& X# C1 o
result3 M$ B% X' b3 e
Out[87]: 10
" s' S8 t: I! y% _6 j
本文只是对python关键字做的简单总结,没有做到每个关键字都举例,并且可能还有不严谨的地方,欢迎批评指正。* U) u- |- c5 s. w4 B3 n
终于写完了,打把王者荣耀压压惊!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
推荐阅读更多+
阅读排行更多+
用心服务创业者
0851-88611148
周一至周五 9:00-18:00
意见反馈:admin@0851life.com

扫一扫关注我们

Powered by 童码少儿编程 X3.4© 2001-2013 0851life Inc.|网站地图