Python关键字,也被称为保留字。
保留字是官方定义的,具有特殊含义的单词。 用户不能使用保留字作为变量、函数、类等自定义的名称。
查看当前Python版本保留字的方法。
打开cmd,执行python,进入到Python交互模式中
然后依次输入下面的代码:
>>> import keyword
>>> keyword.kwlist
输出内容:
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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']
下面输出的列表,就是保留字的列表。
接下来对每个保留字进行介绍。
False
布尔值,表示假。等同于0,与True相对
print(1>2)
print(5 > 6)
print(4 in [1,2,3])
print("hello" is "goodbye")
print(5 == 6)
print(5 == 6 or 6 == 7)
print(5 == 6 and 6 == 7)
print("hello" is not "hello")
print(not(5 == 5))
print(3 not in [1,2,3])
None
定义 null 值,表示根本没有值。
x = None
print(x)
注意:0,False,”” 虽然是空,但不是None。None表示什么都没有,只有None=None
True
布尔值,表示真。等同于1,与False相对
and,or
and用于连接2条语句,如果都是True则为True。
or用于连接2条语句,如果有一个为True则为True
a=1
b=2
if a==1 and b==2:
print("OK") # OK
if a==1 or b==3:
print("OK") # OK
as
创建别名。
import os as a #导入os后,为os创建别名,为a
print(a.getcwd())
assert
在调试代码时使用,如果给定的条件为True则继续执行。如果为False,则会引起AssertionError。
x = "hello"
# 如果条件返回True,则什么也不会发生:
assert x == "hello"
#如果条件返回 False,则会引发 AssertionError:
assert x == "goodbye"
break与continue
break跳出当前的循环体。
for i in range(1,10):
if i == 5:
break # 从4之后的都不输出
print(i)
continue不执行循环剩余代码,直接跳循环的末尾语句。
for i in range(1, 10):
if i == 5:
continue # 不输出5
print(i)
class
定义一个类。
class Rect():
"""
定义了一个矩形类
"""
def GetArea(self, x, y):
"""
获取矩形面积
"""
return x*y
def
定义一个函数
def add(x,y):
return x+y
del
解除一个对象的定义,可以是类、变量、函数
del Rect
del add
if,elif,else
if判断一个条件,成立则继续执行,不成立则跳到elif或else中。
elif对于if不满足的条件,可以做进一步判断
else对于if和elif都不满足的条件进行执行
a = -1
if a>0:
print("a是正数")
elif a<0:
print("a是负数")
else:
print("a是零")
try,except,finally,raise
python中的异常处理。确定当程序出现错误时,该如何执行
raise用于引发一个错误。
try:
x = 0
# b = 100 / x #会引发除0错误 ZeroDivisionError
if x == 0:
raise Exception("除数不能为0") # 引发自定义的错误。Exception
except ZeroDivisionError as e:
print("异常发生了!", e)
except Exception as e:
print("异常发生了!", e)
finally:
print("这句代码无论如何都会执行")
for,in,while
for循环
for i in range(1, 10):
print(i)
while循环
count = 10
while count > 0:
print(count)
count=count-1
import,from
import导入模块
from从一个模块中导入特定的部分。
from datetime import time
#仅从 datetime 模块中导入时间time部分
x = time(hour=15)
print(x)
global
定义一个全局变量,可以在函数中定义
def calc():
global xxaa
xxaa = 1000
calc()
print(xxaa)
is
测试两个变量是否引用同一对象
注意,判断的是两个变量引用同一个对象。
如果只是值相同,则返回假。
a = ["a","b","c"]
c = ["a","b","c"]
b = a
print(a is b) # True
print(c is a or c is b) # False
lambda
用于创建一个小型的匿名函数。
func = lambda a,b: a+b
print(func(1,2)) # 3
nonlocal
在嵌套函数内部使用,表示当前的变量是上一层函数的。
def FuncA():
aaa = 100
def FuncB():
nonlocal aaa # 如果不加nonlocal,aaa就会变为这个函数的局部变量
aaa = 999
FuncB()
return aaa
print(FuncA())
not
取反。如果为False则返回True
print(not True) # False
print(not 0) # True
print(not "a") # False
pass
占位符,防止语法检查报错
if True:
pass#不会报错
if True: # 下面没有内容会报错
return
返回,表示当前函数执行完毕,return下一行的代码会被忽略。
def FuncA():
print(1)
print(2)
return 0
print(3) # 不会执行
FuncA()
with
用于简化错误处理,即简化:try….except….finlally
需要完成 __enter__,__exit__方法, 更多用法请参考百度。
class Test():
def __init__(self):
print("init被调用了")
def __enter__(self):
print("enter 调用")
return self
def myFunc(self):
print(XVZ()) # 引发异常
def __exit__(self,exc_type,exc_value,exc_trackback):
print("exit 调用")
print(exc_type,exc_value,exc_trackback)
with Test() as t:
t.myFunc()
输出内容:
init被调用了
enter 调用
exit 调用
name 'XVZ' is not defined
Traceback (most recent call last):
...
注意!程序会报错退出,但是已经执行了__exit__,相当于finally
yield
async 与 await