每种编程语言都会有一些特殊的单词,称为关键词。对待关键词的基本要求是,你在命名的时候要避免与之重复。本文将介绍一下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,关键词
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 《暗喻幻想》顺风耳作用介绍
- 崔健1985-梦中的倾诉[再版][WAV+CUE]
- 黄子馨《追星Xin的恋人们2》HQ头版限量编号[WAV+CUE]
- 孟庭苇《情人的眼泪》开盘母带[低速原抓WAV+CUE]
- 孙露《谁为我停留HQCD》[低速原抓WAV+CUE][1.1G]
- 孙悦《时光音乐会》纯银CD[低速原抓WAV+CUE][1.1G]
- 任然《渐晚》[FLAC/分轨][72.32MB]
- 英雄联盟新英雄安蓓萨上线了吗 新英雄安蓓萨技能介绍
- 魔兽世界奥杜尔竞速赛什么时候开启 奥杜尔竞速赛开启时间介绍
- 无畏契约CGRS准星代码多少 CGRS准星代码分享一览
- 张靓颖.2012-倾听【少城时代】【WAV+CUE】
- 游鸿明.1999-五月的雪【大宇国际】【WAV+CUE】
- 曹方.2005-遇见我【钛友文化】【WAV+CUE】
- Unity6引擎上线:稳定性提升、CPU性能最高提升4倍
- 人皇Sky今日举行婚礼!电竞传奇步入新篇章