python關鍵字


如圖所示 一共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元素

22, is: 判斷兩個變量是否指向同一對象 (判斷內存地址的)

(每一對象都有編號(id)和類型(type)和數據,數據賦值給對象用來定義一個對象,這里可以判斷兩個變量是否調用同一個對象,編號,類型和數據都要相等

==運算符只是比較變量的數值是否相等

 

   is  在類中,用於描述繼承的關系,比如:蘋果 is-a 水果

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

需要注意的一點,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:參考 https://www.cnblogs.com/fanpl/articles/9356678.html

33,yield: 

      1.它和return差不多的用法,只是最后是返回了一個生成器。
      2.了解yield 必須知道,當你調用yield所在的那個函數的時候,那個函數並沒有運行,只會返回一個生成器的對象。
      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)

結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM