python 中的const关键字 python in关键字_函数体

如图所示 一共33个关键字,其中False,None,True为首字母大写,其余均为小写。

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。

def test_login3_empty(self):
        "username and passwd is empty"
        print("test_login3_empty test start……")
        po = LoginPage(self.driver)
        po.Login_action('','')
        sleep(3)

        self.assertEqual(po.type_loginFail_hint(),'')
        function.insert_img(self.driver,'empty.png')

7,break:跳出当前循环体循环,执行下一行代码,(例子中range()函数并没有全部遍历,就跳出了for循环)

  示例:找出第一个被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:在循环体中不执行本次循环(跳过本次循环,进行下一次循环),继续循环体中循环。(例子中range()函数全部遍历,除了x=5,)

for x in range(1,10):
    if x==5:
        continue
    print(x)

10, def:定义函数,以供对象调用。(定义了一个函数,这里函数体是pass语句)

def while_pracitce(num,step):
    i = 0
    numbles = []

    while i < num:
        numbles.append(i)
        i+= step

    return numbles

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语句。

try:
    print("执行这里的代码如果有错误就去执行except中代码")
    rint("这里的print写错了,但是编译器没有报错,因为出现错误后执行了except语句")
except:
    pass
finally:
    print("每个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("more than 100")
elif a>50 :
    print("beside 50-100")
else:
    print("no more than 50")

20, import:导入模块,调用需要写模块名,举例参考from关键字例。

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")

需要注意:如果是 判断列表是否在列表时,可能返回的是false,这是因为 [1,2,3]列表中并没有元素[1,2,3] ,有的只是 1 ,2 ,3元素

python 中的const关键字 python in关键字_作用域_02

22, is: 判断两个变量是否指向同一对象 (判断内存地址的)

(每一对象都有编号(id)和类型(type)和数据,数据赋值给对象用来定义一个对象,这里可以判断两个变量是否调用同一个对象,编号,类型和数据都要相等)

(==运算符只是比较变量的数值是否相等)

 

描述继承的关系,比如:苹果 is-a 水果

lists1 = [1,3,2,4,5]
print(lists is lists1)
lists2 = lists
print(lists is lists2)

python 中的const关键字 python in关键字_函数体_03

需要注意的一点,in 和 not in 是包含与取反, is 和 is not 是判断内存与取反
in 的 not 在前,is 的 not 在后,是因为内存空间不能 not 的,图中 a is not a,相当于 a is False。

23,lambda:   lambda作为一个表达式,定义了一个匿名函数 ,可参考 python 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, raise:(主动写一个报错?不懂 ,以后补充)

29, return: 返回函数或者表达式执行后的值,用来给对象调用时使用。

(在定义了类或者函数以后,我们用对象去调用类或者函数以实现所需功能,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值

30, try: 常同except,finally一起使用,执行try语句的代码,如果出现错误,则执行except的代码,如果except没有对应的代码执行,则执行finally。

try:
    print("执行这里的代码如果有错误就去执行except中代码")
    rint("这里的print写错了,但是编译器没有报错,因为出现错误后执行了except语句")
except:
    pass
finally:
    print("每个except和finally都要执行的。")

31, while: while表达式为真时,执行while循环,使用while循环要小心死循环。

x=1
while x==1:
    print(x)
    break
#如果没有break,则会一直打印x,代码无限循环,可用ctrl+c快捷键终止循环。

32, with:

33,yield: 

      1.它和return差不多的用法,只是最后是返回了一个生成器。

      3.当你第一次在for中调用生成器的的对象,它将会运行你函数中的代码从最开始一直到到碰到了yield的关键字,然后它会返回循环中的第一个值。然后每一次其他的调用将会运行你在这个函数中所写的循环多一次,并且返回下一个值,知道没有值可以返回了。

生成器可以认为是空的,如果这个函数运行但是没有运行到yield上。这也许是因为循环的结束,也许是因为你没有写一个安全的if/else。

这里又涉及到生成器的问题:

      生成器和迭代器差不多,但是它只能运行一次,因为它不是把值存在内存中,而是直接运行生成值,所以我理解应该是定义的时候需要代码块的。

print("x:")
for x in range(3):
    print(x)

mygenerator = (x*x for x in range(3))
print("mygenerator:")
for i in mygenerator:
    print(i)
print("mygenerator2:")
for i in mygenerator:
    print(i)

lists = []
for  x in range(3):
    a = x
    lists.append(a*a)
print("list:")
for i in lists:
    print(i)
print("list2:")
for i in lists:
    print(i)

结果:

python 中的const关键字 python in关键字_作用域_04