理解yield
test_yield(n):for i inrange(n):yield i*2每次的运算结果都返回
for j in test_yield(8):print j,:结束理解yield"
利用yield输出斐波那契数列#########看这里,太厉害了,不是我写的。。。。#########
fab(max):
a,b= 0,1
while a
a,b= b,a+b斐波那契数列!in fab(20print i,输出结果:
0 : 2 : 4 : 6 : 8 : 10 : 12 : 14: 结束理解yield
斐波那契数列!
0,1,1,2,3,5,8,13,
16.break :作用是终止循环,程序走到break的地方就是循环结束的时候。(有点强行终止的意思)注意:如果从for或while循环中终止(break)之后 ,else语句不执行。
17.except :和try一起使用,用来捕获异常。try:
block
except [exception,[data…]]:
block
try:
block
except [exception,[data...]]:
block
else:
block
该种 Python异常处理语法的规则是:
◆执行try下的语句,如果引发异常,则执行过程会跳到第一个except语句。
◆如果第一个except中定义的异常与引发的异常匹配,则执行该except中的语句。
◆如果引发的异常不匹配第一个except,则会搜索第二个 except,允许编写的except数量没有限制。
◆如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。
◆ 如果没有发生异常,则执行else块代码。
第一种格式:
理解except
try:
num= 5/0except计算出错"
第二种:
:
f= open(file.txtr") 如果该文件不存在
except IOError,e: 捕获IO异常
IO错误!"
print e 输出错误信息,这里e是错误信息
输出结果:
计算出错
IO错误!
[Errno2] No such file or directory: ''
18.import :用来导入模块,有时这样用from....import
19.print :输出
20.class :定义类
21exec :我还没弄懂exec语句用来执行储存在字符串或者文件中的python语句。可以生成一个包含python代码的字符串,然后使用exec语句执行这些语句。
22.in :查找列表中是否包含某个元素,或者字符串a是否包含字符串b。需要注意的是:不可以查看list1是否包含list2。代码如下:
理解in
first_list = [1,2]
second_list= [1,3]
element= 1red= red'red_clothes= red clothesprint red in red_clothes true
print first_list in second_list false
print element in first_list true
输出结果为:
True
False
True
23.raise :raise可以显示地引发异常。一旦执行raise语句,后面的代码就不执行了
理解raise
raise IOError 这里可以raise一个自定义的错误类。那样就叫做自定义异常了
是否执行?" 不执行
IOError:IOError test raise"
输出结果如下:
IOError test raise
24.continue:跳过continue后面循环块中的语句,继续进行下一轮循环。
25.finally :看到finally语句,必然执行finally语句的代码块。
python异常总结,请看下面的代码:
One:
打开一个文件,但有可能找不到
:
f= open(xxx)
do something:
do somethingfinally:
f.close()
Two:
)fail to openexit(-1:
f.close()
我们为什么要写finally,是因为防止程序抛出异常最后不能关闭文件,但是需要关闭文件有一个前提就是文件已经打开了。
在第一段错误代码中,如果异常发生在f=open(‘xxx’)的时候,比如文件不存在,立马就可以知道执行f.close()是没有意义的。改正后的解决方案就是第二段代码。
26.is :Python中的对象包含三要素:id、type、value
其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值
is判断的是a对象是否就是b对象,是通过id来判断的
==判断的是a对象的值是否和b对象的值相等,是通过value来判断的
理解is
e = 1es= 1.0ess= 1
"""is就是比对id的值,看是否指向同一对象,
这里需要注意的是:同一对象,不是值相等就是同一对象。"""
printid(e)id(es)print id(ess)
27.return:用于跳出函数,也可以在跳出的同时返回一个值。
28.def :用于定义方法
29.for :for....in 一起使用:它在一序列的对象上递归,就是遍历队列中的每个项目
30.lambda:即匿名函数,不用想给函数起什么名字。提升了代码的简洁程度。如:
理解lambda
g = lambda :lambda test.g()
num1= lambda x,y=1:x +yprint num1(1) 多个变量的时候,可以不给有默认值的变量传值
print num1(10,10) 值得注意的是,如果y没有默认值而且不给它传值的话报错!
输出结果:
lambdatest.2
20
31.try :出现在异常处理中,使用格式为:try...except,try中放想要执行的语句,except捕获异常
代码见,25.
ok了,我要断电了,有几点没懂地方明天补全。边学边写,写了一下午 T.T
终于完成了,在写这篇博客的过程中我学习到了很多:有些知道什么意思的语句,但是就是不会用自己的话说,参考了别人的博客之后。能够顺利的表达明白了。写博客真的很涨知识啊!
相关文章
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250