python3从零学习-4.1.1、关键字(保留字)
关键字(保留字)
在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']
逐个解析33个关键字:
1、True
布尔类型,在python3中是对象,True表示真,相对于False。
2、False
布尔类型,在python3中是对象,False表示假,相对于True。
3、None
python3中的常量None的特殊性在于它既不是0或者False,也不是空字符串,它是一个空值对象。其数据类型为NoneType,遵循单例模式,是唯一的,因而不能创建None对象。所有赋值为None的变量都相等,并且None与其他任何非None的对象比较的结果都为False。
4、and
逻辑判断语句‘与’,and左右两边都为真,则判断结果为真,否则都是假。
5、as
1) 自定义命名:import requests as rs;给包、函数、变量重命名,这样方便调用
2)结合with…as使用
with open('test.txt') as f:
f.read()
‘’'
with语句的目的是简化try/finally模式,用于保证一段代码运行完毕之后能够执行某项操作,即便代码由于**异常、return语句或者sys.exit()**调用而中止。
‘’’
#try/finally模式下的文件操作模式:
try: f = open('test.txt’)
f.read()
finally:
f.close()
‘’’
对比于with…as语句来说,try/finally模式显得过于复杂,通常大家习惯于使用更加简洁的with…as语句
‘''
6、assert
python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。
assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。
格式如下:
assert expression [, arguments]
assert 表达式 [, 参数]
7、break
Python break语句,就像在C语言中,打破了最小封闭for或while循环。
break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
break语句用在while和for循环中。
如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
import time
'''
break 关键字示例
'''
while True:
time.sleep(2) # 睡眠2秒
print('运行到这里:第一层循环')
while True:
print('运行到这里:第二层循环')
break
### 备注:break会跳出第二层循环,就是说break关键字只会停止最内一层循环,外层的循环是不受影响的。
8、class
python中的类定义,是对象的声明。
# 定义一个类
class People:
def __init__(self, name, sex, age):
self.name = name
self.sex = sex
self.age = age
def Name(self):
print("姓名:", self.name)
def Sex(self):
print("性别:", self.sex)
def Age(self):
print("年龄:", self.age)
pp = People('lily', 'female', 25)
pp.Name()
pp.Sex()
pp.Age()
9、continue
跳出本次循环,在本次循环后面的语句则不执行;
while True:
time.sleep(2) # 睡眠2秒
print('运行到这里:第一层循环')
i = 0
while True:
time.sleep(2) # 睡眠2秒
print('运行到这里:第二层循环')
if i > 5:
print('i大于5的时候,不执行本次循环的后面的代码,但是不会跳出本层循环')
continue
i = i + 1
10、def
python中的函数定义,可以直接定义函数,也可以定义类里面的函数。
11、del
删除对象
12、if else elif
判断语句
if 表达式:
Statement
# 表达式为真(True),那么就执行Statement.如果表达式为假(False),那么就不执行Statement。
13、else
判断语句,对应if语句
if 表达式:
Statement1
else
Statement2
# 表达式为真(True),那么就执行Statement1.如果表达式为假(False),那么就执行Statement2。
14、elif
判断语句,是else if缩写版,更加简洁
if 表达式1:
Statement1
elif 表达式2:
Statement2
else
Statement3
# 表达式1为真(True),那么就执行Statement1.如果表达式1为假(False),那么就判断表达式2是不是为真,如果表达式2为真,就执行Statement2,如果表达式2也是假,那么就执行Statement3。
15、try
异常处理语句
16、except
异常处理语句
17、finally
异常处理语句
try:
Statement1
except expression as identifier:
Statement2
else:
Statement3
finally:
Statement4
# 执行Statement1发生异常expression,那么执行Statement2
# 如果发生的异常不是expression,而是其他类型异常,那么就执行Statement3
# finally是不管异常发不发生,都会执行Statement4
18、for
循环语句
for i in range(5):
print('i = ', i)
19、from
导入模块中的函数或变量
20、global
全局变量声明
21、import
包导入操作
22、in
判断是否包含在其中
23、is
is关键字是判断两个变量的指向是否完全一致,及内容与地址需要完全一致,才返回True,否则返回False。
python中的is通常与==一起分析;==通常只是对内容进行对比,一致则返回True。
24、lambda
匿名函数,此关键字可以用一行实现一个函数。这个会单独来写一篇文章讲讲。
25、nonlocal
nonlocal是在Python3.2之后引入的一个关键字,它是用在封装函数中的,且一般使用于嵌套函数的场景中。
在Python 2.x中,闭包只能读外部函数的变量,而不能改写它。
26、not
逻辑操作符,‘非’;
‘and’、‘or’和‘not’的优先级是not>and>or;
非0或者非False才返回True。
27、or
逻辑操作符,‘或’;
或运算符会触发短路现象,即第一个条件为真,则返回第一个条件的值;
28、pass
一般使用在空函数上,占位符。
try:
pass
except expression as identifier:
pass
else:
pass
finally:
pass
29、raise。
python异常机制。有时候python自带异常不够用,如同java,python也可以自定义异常,并且可以手动抛出,raise关键字就是python主动抛异常设定的关键字。
30、return。
保留函数最终的值,并终结程序运行;
31、while。
循环语句。while 后接条件,若条件为真则运行后面的代码块。
32、with。
一般结构为with...as的使用方式。
with后面返回的对象要求必须两__enter__()/__exit__()这两个方法,而文件对象刚好是有这两个方法。
33、yield
任何使用yield的函数都称之为生成器,而生成器通常可理解成迭代器。