Python关键字

2021-03-30 10:03:22 浏览数 (1)

代码语言:javascript复制
'''
1.关键字是预先保留的标识符,每个关键字都有特殊的含义;

2.python3的关键字(保留字),共35个:
['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']

3.其中False,None,True为首字母大写,其余均为小写;

4.分类:
(1)条件关键字(10个):if elif else for in  while break return continue pass
(2)运算符(3个): True Flase None
(3)类级(5个): class lamdba def  import from
(4)逻辑运算符(3个): and or not
(5)异常(4个): try  except  raise  finally
(6)python特殊(8个) :is nonlocal  del  global  with   as   yield  assert async await 
'''

#查看关键字
import keyword
print(keyword.kwlist)
print(len(keyword.kwlist)) #35

#查看关键字帮助说明
print(help('keywords'))

#判断是否是关键字
print(keyword.iskeyword('class')) #True
print(keyword.iskeyword('false')) #False

#常用关键字说明
"""
1.False :布尔值假,常用作返回值,或者条件判断时。数字0和空集属于False.

2.None: 用于表示空值,有自己的数据类型NoneType.

3.True:布尔值真,常用作返回值,或者条件判断时。非0数字和非空集合属于True.

4.and:连接两个表达式 ,相当于逻辑与:
    if age>10 and age<20

5.as:给引入的模块取个新的的名字(取别名),函数中引用模块的名字使用自定义名字:
import tkinter as tk
t=tk.Tk()  #相当于t=tkinter.Tk()

6.assert:声明某个表达式必须为真(断言),如果编程途中该表达式没有为真就会报错AssertionError

7.break:跳出当前循环体循环,执行下一行代码.
    #找出第一个被3整除的数,并输出
for i in range(0,10):
    if i%3==1:
        continue
    elif i%3 ==2:
        continue
    else:
        print(i)
        break

8.class:用来定义类,(类首字母大写;类都有一个构造函数__init__(),是该类的属性)
class Car:
    def __init__(self,color):
        self.color=color
        
9.continue:在循环体中不执行本次循环(跳过本次循环,进行下一次循环),继续循环体中循环.
for x in range(1,10):
#range()函数遍历,除了x=5
    if x==5:
        continue
    print(x)

10.def:定义函数或方法,以供对象调用.

11.del:从列表中删除不需要的对象,或者删除函数中定义过的对象
list=[5,4,3,2,1,0]
del list[0]
print(list)

12.elif:同if关键字一起使用,表示对if分支的判断.

13.else:同if关键字一起使用,表示上述条件都不满足时执行else语句

14.except:与try和finally搭配,用来处理函数体中的异常错误,可以有多个except语句,每个except都会执行。出现try代码错误后,编译器不报错,会去执行except语句
try:
    print("执行这里的代码如果有错误就去执行except中代码")
    rint("这里的print写错了,但是编译器没有报错,因为出现错误后执行了except语句")
except:
    pass

15.finally:与try和except搭配,try中代码错误后遍历except语句,然后再执行finally语句.

16.for:创建已知次数的循环体
for i in range(0,5):
    print(i)

17.from:从模块中导入函数或整个模块,调用时可以省略调用模块名
from time import sleep
sleep(2)

18.global:定义全局变量(改变变量的作用域),在整个模块中可以使用,在函数体内定义的全局变量的作用域也是整个模块
a=100
b=200
def func():
    global a
    a=300  #作用域是整个模块
    b=400  #作用域只在这个函数体内
func()
print(a)
print(b)

19.if :判断语句,常同elif和else使用。如果条件为真,执行if语句的代码;不然不执行if语句
import random
a=random.randint(1,200)
if a>100:
    print("大于 100")
elif a>50 :
    print("在 50-100之间")
else:
    print("小于 50")
    
20.import:导入模块,调用需要写模块名

21.in:判断是否包含,常见的在for循环中的in和list中的in
for i in range(0,5):
    print(i)
    
lists = [1,3,2,4,5]
Borl = int(input('>>>'))
if Borl in lists:
    print(Borl)
else:
    print("not in")

in 和 not in 是包含与取反

22.is: 判断两个变量是否指向同一对象(判断内存地址)
每一对象都有编号(id)和类型(type)和数据,数据赋值给对象用来定义一个对象,可以判断两个变量是否调用同一个对象,编号,类型和数据都要相等
区别:==运算符只是比较变量的数值是否相等
is 和 is not判断内存与取反
注意:in 的 not 在前,is 的 not 在后,是因为内存空间不能 not

23.lambda:lambda作为一个表达式,定义了一个匿名函数.

24.nolocal:定义一个局部变量,作用域为该函数体内

25.not: 等价逻辑非, 使表达式返回的布尔值取反
x=True
y=not x
print(y)   #打印出的是"False"

26.or: 等价逻辑或,or所连接的表达式中有任意一个为真,则表达式返回的布尔值为真
x=6
y=0
if x or y:
    print("任意一个为真就是真")
    print("空集是假,非空即真")
    print("这三个打印都会打印") 

27.pass:定义一个新的函数,但是没想好函数体时,可以先使用pass语句,定义if条件语句后,但是没想好执行代码怎么写,也可以先使用pass
def func():
    pass    #如果定义的函数体没有执行代码,就会报错syntax error
    
a=10
if a>10:
    pass  #

28.return: 返回函数或者表达式执行后的值,用来给对象调用时使用
import random
x=random.randint(1,100)
def func(x):
    if x>10:
         return 10
    else:
         return x
print(func(x))  #这里打印的是return的返回值
print(x)    #这里打印的是产生的随机数x值

29.try: 常同except,finally一起使用,执行try语句的代码,如果出现错误,则执行except的代码,如果except没有对应的代码执行,则执行finally
try:
    print("执行这里的代码如果有错误就去执行except中代码")
    rint("这里的print写错了,但是编译器没有报错,因为出现错误后执行了except语句")
except:
    pass
finally:
    print("每个except和finally都要执行的。")
    
30.while: while表达式为真时,执行while循环
x=1
while x==1:
    print(x)
    break
#如果没有break,则会一直打印x,代码无限循环,可用ctrl c快捷键终止循环

31.yield: 
(1).和return差不多的用法,只是最后是返回了一个生成器
(2).调用yield所在的那个函数的时候,那个函数并没有运行,只会返回一个生成器的对象。
(3).第一次在for中调用生成器的的对象,它将会运行你函数中的代码从最开始一直到到碰到了yield的关键字,然后它会返回循环中的第一个值。然后每一次其他的调用将会运行你在这个函数中所写的循环多一次,并且返回下一个值,知道没有值可以返回了。
生成器可以认为是空的,如果这个函数运行但是没有运行到yield上。这也许是因为循环的结束,也许是因为你没有写一个安全的if/else

"""


ITester软件测试小栈(ID:ITestingA),专注于软件测试技术和宝藏干货分享,每周准时更新原创技术文章,每月不定期赠送技术书籍,愿我们在更高处相逢。喜欢记得星标⭐我,每周及时获得最新推送,第三方转载请注明出处。

0 人点赞