国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

重讀LPTHW-Lesson37

2019-11-14 17:05:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這次是復(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."    

輸出:

 


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泰来县| 平定县| 吉安县| 吉首市| 积石山| 满城县| 神农架林区| 芦山县| 江陵县| 建平县| 宁晋县| 安西县| 全州县| 柏乡县| 章丘市| 岐山县| 招远市| 长顺县| 互助| 赤峰市| 罗江县| 社会| 宣威市| 罗甸县| 扶绥县| 新蔡县| 明溪县| 寿阳县| 盐池县| 宾川县| 宣城市| 昌平区| 西充县| 手游| 含山县| 桑植县| 阳东县| 龙州县| 沾化县| 宾阳县| 铅山县|