這次是復(fù)習(xí)課 復(fù)習(xí)python符號(hào) 整理如下
1.邏輯運(yùn)算符not、and、or
python中邏輯運(yùn)算符包括not(布爾非)、and(布爾與)、or(布爾或)。注意以下幾點(diǎn):
①運(yùn)算規(guī)則:
例:
②運(yùn)算優(yōu)先級(jí):not的優(yōu)先級(jí)大于and和or的優(yōu)先級(jí),而and和or的優(yōu)先級(jí)相等。邏輯運(yùn)算符的優(yōu)先級(jí)低于關(guān)系運(yùn)算符,必須先計(jì)算關(guān)系運(yùn)算符,然后再計(jì)算邏輯運(yùn)算符
1 PRint not 1 and 0 2 print not (1 and 0)3 print 1 <= 2 and False or True4 print 1<=2 or 1 > 1 + 2
第一行 先計(jì)算not 1再計(jì)算and 0,輸出:False
第二行 先計(jì)算括號(hào)內(nèi)的and,再計(jì)算not,輸出:True
第三行 先計(jì)算1 <= 2關(guān)系式,再計(jì)算and運(yùn)算,最后計(jì)算or,輸出:True
第四行 先計(jì)算1 <= 2關(guān)系式,再計(jì)算1 > 1+2 關(guān)系式,最后計(jì)算or,輸出:True
2.with-as
with A() as B:
block
這個(gè)語(yǔ)句中,A()是一個(gè)類(lèi),A()類(lèi)中必須有兩個(gè)方法:__enter__()方法和__exit__()方法。
在執(zhí)行with語(yǔ)句時(shí),首先創(chuàng)建類(lèi)A的一個(gè)臨時(shí)對(duì)象,然后調(diào)用對(duì)象的__enter__()方法,并將這個(gè)方法的返回值賦值給B。接下來(lái),執(zhí)行block語(yǔ)句塊(若__enter__()方法出現(xiàn)異常,會(huì)直接跳過(guò),繼續(xù)執(zhí)行block代碼塊)。在block代碼塊執(zhí)行完畢后,調(diào)用對(duì)象的__exit__()方法。
實(shí)例:
class people(object): def __enter__(self): print "Enter people" return "Chinese" def __exit__(self,type,value,traceback): print "Exit people"with people() as cn: print cn
輸出:
Enter peopleChineseExit people注解:①創(chuàng)建臨時(shí)對(duì)象people(),執(zhí)行__enter__(),本例中是打印出"Enter people",然后將__enter__()的返回值即''Chinese"返回給變量'cn'
②執(zhí)行語(yǔ)句塊,本例中是打印出變量cn的值,輸出"Chinese"
③調(diào)用__exit__()。本例中,調(diào)用__exit__()方法打印"Exit people"。
④本例中,__exit__()的三個(gè)參數(shù)type,value,traceback在異常處理中有很大作用,這也是with語(yǔ)句的強(qiáng)大之處,即它可以處理異常。
3.assert assert語(yǔ)句用來(lái)聲明/確保某個(gè)條件是True,并且在not True時(shí)引發(fā)一個(gè)錯(cuò)誤。如你確信某個(gè)正在列表里至少有一個(gè)元素,要驗(yàn)證這一點(diǎn),并且在列表中沒(méi)有元素的時(shí)候即為not True的時(shí)候引發(fā)一個(gè)錯(cuò)誤(會(huì)觸發(fā)'AssertionError'錯(cuò)誤),這種情況下應(yīng)該運(yùn)用assert語(yǔ)句。

4.break
break語(yǔ)句用來(lái)中止循環(huán),即使循環(huán)條件仍然為真或序列沒(méi)有完全遞歸,也停止執(zhí)行循環(huán)語(yǔ)句,且對(duì)應(yīng)的else語(yǔ)句將不執(zhí)行。
# -*- coding:utf-8 -*-while True: s = raw_input("Enter Something:") #獲取用戶(hù)輸入 if s == 'quit': break #用戶(hù)輸入'quit'時(shí),中止循環(huán)結(jié)束游戲 print "Your input is %s,its length is %d." % (s,len(s))print "Game Over"
輸出:
1 Enter Something:Python is number one2 Your input is Python is number one,its length is 20.3 Enter Something:I love programming4 Your input is I love programming,its length is 18.5 Enter Something:I will be a good programmer6 Your input is I will be a good programmer,its length is 27.7 Enter Something:quit 8 Game Over
5.class
定義類(lèi):
class person(object): pass
6.continue
continue語(yǔ)句用來(lái)跳過(guò)當(dāng)前循環(huán)塊中的剩余部分,繼續(xù)進(jìn)行下一輪循環(huán)
while True: s = raw_input("Enter Something:") if len(s) < 3: continue #當(dāng)輸入長(zhǎng)度小于3時(shí),不執(zhí)行任何處理 print "Congratulations! Your enter is effcetive.Its length is %d." % len(s)
輸出:
Enter Something:aEnter Something:12Enter Something:123Congratulations! Your enter is effcetive.Its length is 3.
7.def
定義函數(shù):
def func(x): pass
8.del
del用來(lái)刪除列表、字典中的元素以及變量
1 >>> list1 = ['a','b','c','d'] 2 >>> dict1 = {'a': 'A','b': 'B','c': 'C','d': 'D'} 3 >>> del list1[1] 4 >>> list1 5 ['a', 'c', 'd'] 6 >>> del list1[0:2] 7 >>> list1 8 ['d'] 9 >>> del dict1['a']10 >>> dict111 {'c': 'C', 'b': 'B', 'd': 'D'}12 >>> del dict1['b']13 >>> dict114 {'c': 'C', 'd': 'D'}15 >>> del list116 >>> list117 18 Traceback (most recent call last):19 File "<pyshell#11>", line 1, in <module>20 list121 NameError: name 'list1' is not defined22 >>> del dict123 >>> dict124 25 Traceback (most recent call last):26 File "<pyshell#13>", line 1, in <module>27 dict128 NameError: name 'dict1' is not defined29 >>> x = 230 >>> x31 232 >>> del x33 >>> x34 35 Traceback (most recent call last):36 File "<pyshell#17>", line 1, in <module>37 x38 NameError: name 'x' is not defined
9.elif、else
elif即else if,和else都是if語(yǔ)句塊的一部分:
if 0: passelif 1: passelse: pass
10.except
try...except語(yǔ)句用來(lái)處理異常,其執(zhí)行程序如下:
①try...except語(yǔ)句把通常的語(yǔ)句放在try塊中,從try語(yǔ)句塊開(kāi)始執(zhí)行,若無(wú)異常,則執(zhí)行else語(yǔ)句(存在else的前提下)。
②若在執(zhí)行try句塊中出現(xiàn)異常,則中斷try塊的執(zhí)行并跳轉(zhuǎn)到相應(yīng)的異常處理塊except塊中執(zhí)行。其先從第一個(gè)exceptXX處開(kāi)始匹配,找到對(duì)應(yīng)的異常類(lèi)型就進(jìn)入對(duì)應(yīng)exceptXX句塊處理;如果沒(méi)有找到則直接進(jìn)入except塊處理。
③except句塊是可選項(xiàng),如果沒(méi)有提供,調(diào)用默認(rèn)的python處理器,處理方式則是終止應(yīng)用程序并打印提示信息
try: s = raw_input("Enter Something:") print s print "Done" except EOFError: print "/nWhy did you do an EOFError on me?" #當(dāng)發(fā)生'EOFError'時(shí)執(zhí)行此語(yǔ)句except: print "/nsome error/exception occurred." #當(dāng)發(fā)生其他類(lèi)型異常時(shí)統(tǒng)統(tǒng)執(zhí)行此語(yǔ)句
輸出:

11.exec
exec語(yǔ)句用來(lái)執(zhí)行儲(chǔ)存在字符串或文件中的Python語(yǔ)句。
>>> exec "print 'Hello World!'"Hello World!
12.in
for...in...語(yǔ)句;xx in [...]語(yǔ)句
13.lambda
lambda定義匿名函數(shù)。lambda定義函數(shù)僅一行語(yǔ)句。它只需要一個(gè)參數(shù),后面緊跟單個(gè)表達(dá)式作為函數(shù)體,并返回表達(dá)式的值。需要注意的是,lambda只能跟表達(dá)式。
>>> s = lambda x:x ** 3 #定義匿名函數(shù),求三次方>>> s(3)27>>> s(5)125>>>
14.raise語(yǔ)句用來(lái)引發(fā)異常。需要知名錯(cuò)誤/異常的名稱(chēng)和伴隨異常觸發(fā)的異常對(duì)象,可以引發(fā)的錯(cuò)誤或異常應(yīng)該分別是一個(gè)Error或Exception的類(lèi)的導(dǎo)出類(lèi)。
# -*- coding:utf-8 -*-class ShortInputError(Exception): def __init__(self,length,atleast): Exception.__init__ 初始化 self.length = length self.atleast = atleasttry: s = raw_input("Enter something:") if len(s) < 3: raise ShortInputError(len(s),3)except EOFError: print '/nWhy did you do an EOF on me?'except ShortInputError,x: print 'ShortInputError:The input was of length %d,/ was expecting at least %d' %(x.length,x.atleast)else: print "No exception was raised."
輸出:

新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注