python 斐波那契数列 yield_python关键字详解 关于Python中的yield

理解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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值