这次是复习课 复习python符号 整理如下
1.逻辑运算符not、and、or
python中逻辑运算符包括not(布尔非)、and(布尔与)、or(布尔或)。注意以下几点:
①运算规则:
例:
②运算优先级:not的优先级大于and和or的优先级,而and和or的优先级相等。逻辑运算符的优先级低于关系运算符,必须先计算关系运算符,然后再计算逻辑运算符
1PRintnot1and02printnot(1and0)3print1 <= 2andFalseorTrue4print1<=2or1 > 1 + 2
第一行 先计算not 1再计算and 0,输出:False
第二行 先计算括号内的and,再计算not,输出:True
第三行 先计算1 <= 2关系式,再计算and运算,最后计算or,输出:True
第四行 先计算1 <= 2关系式,再计算1 > 1+2 关系式,最后计算or,输出:True
2.with-as
with A() as B:
block
这个语句中,A()是一个类,A()类中必须有两个方法:__enter__()方法和__exit__()方法。
在执行with语句时,首先创建类A的一个临时对象,然后调用对象的__enter__()方法,并将这个方法的返回值赋值给B。接下来,执行block语句块(若__enter__()方法出现异常,会直接跳过,继续执行block代码块)。在block代码块执行完毕后,调用对象的__exit__()方法。
实例:
classpeople(object):def__enter__(self):print"Enter people"return"Chinese"def__exit__(self,type,value,traceback):print"Exit people"with people() as cn:printcn
输出:
Enter people
Chinese
Exit people
注解:①创建临时对象people(),执行__enter__(),本例中是打印出"Enter people",然后将__enter__()的返回值即''Chinese"返回给变量'cn'
②执行语句块,本例中是打印出变量cn的值,输出"Chinese"
③调用__exit__()。本例中,调用__exit__()方法打印"Exit people"。
④本例中,__exit__()的三个参数type,value,traceback在异常处理中有很大作用,这也是with语句的强大之处,即它可以处理异常。
3.assert assert语句用来声明/确保某个条件是True,并且在not True时引发一个错误。如你确信某个正在列表里至少有一个元素,要验证这一点,并且在列表中没有元素的时候即为not True的时候引发一个错误(会触发'AssertionError'错误),这种情况下应该运用assert语句。
4.break
break语句用来中止循环,即使循环条件仍然为真或序列没有完全递归,也停止执行循环语句,且对应的else语句将不执行。
#-*- coding:utf-8 -*-whileTrue:
s= raw_input("Enter Something:")#获取用户输入ifs =='quit':
break#用户输入'quit'时,中止循环结束游戏print"Your input is %s,its length is %d."%(s,len(s))print"Game Over"
输出:
1Enter Something:Pythonisnumber one2Your inputisPythonisnumber one,its lengthis20.3Enter Something:I love programming4Your inputisI love programming,its lengthis18.5Enter Something:I will be a good programmer6Your inputisI will be a good programmer,its lengthis27.7Enter Something:quit8Game Over
5.class
定义类:
classperson(object):pass
6.continue
continue语句用来跳过当前循环块中的剩余部分,继续进行下一轮循环
whileTrue:
s= raw_input("Enter Something:")iflen(s) < 3:continue#当输入长度小于3时,不执行任何处理print"Congratulations! Your enter is effcetive.Its length is %d."% len(s)
输出:
Enter Something:a
Enter Something:12Enter Something:123Congratulations! Your enteriseffcetive.Its lengthis3.
7.def
定义函数:
deffunc(x):pass
8.del
del用来删除列表、字典中的元素以及变量
1>>> list1 = ['a','b','c','d']2>>> dict1 = {'a':'A','b':'B','c':'C','d':'D'}3>>>dellist1[1]4>>>list15['a','c','d']6>>>dellist1[0:2]7>>>list18['d']9>>>deldict1['a']10>>>dict111{'c':'C','b':'B','d':'D'}12>>>deldict1['b']13>>>dict114{'c':'C','d':'D'}15>>>dellist116>>>list11718Traceback (most recent call last):19File"<pyshell#11>", line 1,in<module>20list121NameError: name'list1'isnotdefined22>>>deldict123>>>dict12425Traceback (most recent call last):26File"<pyshell#13>", line 1,in<module>27dict128NameError: name'dict1'isnotdefined29>>> x = 230>>>x31232>>>delx33>>>x3435Traceback (most recent call last):36File"<pyshell#17>", line 1,in<module>37x38NameError: name'x'isnotdefined
9.elif、else
elif即else if,和else都是if语句块的一部分:
if0:passelif1:passelse:pass
10.except
try...except语句用来处理异常,其执行程序如下:
①try...except语句把通常的语句放在try块中,从try语句块开始执行,若无异常,则执行else语句(存在else的前提下)。
②若在执行try句块中出现异常,则中断try块的执行并跳转到相应的异常处理块except块中执行。其先从第一个exceptXX处开始匹配,找到对应的异常类型就进入对应exceptXX句块处理;如果没有找到则直接进入except块处理。
③except句块是可选项,如果没有提供,调用默认的python处理器,处理方式则是终止应用程序并打印提示信息
try:
s= raw_input("Enter Something:")printsprint"Done"exceptEOFError:print"\nWhy did you do an EOFError on me?"#当发生'EOFError'时执行此语句except:print"\nsome error/exception occurred."#当发生其他类型异常时统统执行此语句
输出:
11.exec
exec语句用来执行储存在字符串或文件中的Python语句。
>>>exec"print 'Hello World!'"Hello World!
12.in
for...in...语句;xx in [...]语句
13.lambda
lambda定义匿名函数。lambda定义函数仅一行语句。它只需要一个参数,后面紧跟单个表达式作为函数体,并返回表达式的值。需要注意的是,lambda只能跟表达式。
>>> s =lambdax:x ** 3#定义匿名函数,求三次方>>> s(3)27
>>> s(5)125
>>>
14.raise语句用来引发异常。需要知名错误/异常的名称和伴随异常触发的异常对象,可以引发的错误或异常应该分别是一个Error或Exception的类的导出类。
#-*- coding:utf-8 -*-classShortInputError(Exception):def__init__(self,length,atleast):
Exception.__init__初始化
self.length=length
self.atleast=atleasttry:
s= raw_input("Enter something:")iflen(s) < 3:raiseShortInputError(len(s),3)exceptEOFError:print'\nWhy did you do an EOF on me?'exceptShortInputError,x:print'ShortInputError:The input was of length %d,\
was expecting at least %d'%(x.length,x.atleast)else:print"No exception was raised."
输出: