加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 3D打印服务

请教Python 这个类for循环怎么理解?

时间:2024-03-09 23:37:40  来源:http://www.hongsengmold.com  作者:admin

一、请教Python 这个类for循环怎么理解?

在python语言中,for in 循环本身会自动调用对象的__next__()函数,直到遇到StopIteration这个异常退出循环,每次执行一次__next__()函数,并且将返回值赋给for后面的变量。

程序是这么运行的

for n in Fib():#Fib()是一个类,调用类名相当于定义一个对象

#也可以写成

#f=Fib()

#for n in f:

由于Fib()实现了,__next__()函数,自然要调用这个__next__()函数,结果是

self.a, self.b = self.b, self.a + self.b # 第一次,这句话执行后self.a=1,self.b=1

if self.a > 100000: #第一次不满足条件,因为self.a=1

raise StopIteration();#第一次不执行

return self.a # 返回1

由于第一次没有raise StopIteration没执行,所以继续下个循环。

self.a, self.b = self.b, self.a + self.b # 第二次,这句话执行后self.a=1,self.b=2

if self.a > 100000: #第二次不满足条件,因为self.a=1

raise StopIteration();#第二次不执行

return self.a # 返回1,输出1

由于第三次没有raise StopIteration没执行,所以继续下个循环。

self.a, self.b = self.b, self.a + self.b # 第三次self.a=2,self.b=3

if self.a > 100000: #第三次不满足条件,因为self.a=2

raise StopIteration();#第三次不执行

return self.a # 返回2,输出2

由于第四次没有raise StopIteration没执行,所以继续下个循环。

self.a, self.b = self.b, self.a + self.b # 第四次self.a=3,self.b=5

if self.a > 100000: #第四次不满足条件,因为self.a=3

raise StopIteration();#第四次不执行

return self.a # 返回3,输出3

...........一直循环,直到self.a大于100000

其实这个函数是返回斐波那契数列的一个类。

不明白可追问。

二、简单的流行英文歌曲

这样子啊,你可以去下几首经典的英文歌曲,然后查歌词,打印出来,不难的。

给你推荐首:you raise me up,歌词很简单,但很深邃。

Have fun.

三、使用python测测你的系统最多能创建多少个线程

输入模块可以使用其功能的其他程序。这就是为什么我们使用python标准库的方法

输入:。

#的/ usr / bin中/ env的蟒蛇

#文件名:! using_sys.py

进口sys

打印“命令行参数是:”

因为我在sys.argv中:

我打印网上打印“\ \ n此pythonpath是',sys.path中,'\ n'

输出:

$蟒蛇using_sys.py我们

参数的命令行参数:

using_sys

的.py我们

参数

登录到到网pythonpath为['/家庭/ swaroop /字节/码','/usr/lib/python23.zip“, br>'/usr/lib/python2.3','/ usr / lib目录/ python2.3 /开发平台,将linux2“,

”/usr/lib/python2.3/lib-tk','的/ usr /的lib / python2.3 / lib目录-dynload“,

'的/ usr /lib/python2.3/site-packages','/usr/lib/python2.3/site-packages/gtk-2.0']

首先,我们使用import语句输入sys模块。基本上,这句话语句告诉python中,我们要使用这个模块。 sys模块包含了与python解释器及其环境相关的功能。

当执行python导入sys语句,它被列在目录中找到的sys.path变量sys.py模块。如果您发现该文件,该模块中的报表的主块将被运行,然后这个你要使用的模块。注意,在初始化过程只是我们第一次进行的输入模块。此外,“sys”是“系统”的缩写。通过使用点

sys模块的argv变量表示--sys.argv--这种方法的一个优点是名称不与你的程序中使用任何argv变量冲突。此外,还清楚地表明,该名称是sys模块的一部分。

sys.argv中的变量是一个字符串(列表中会详细在后面的章节介绍)的列表。特别是,sys.argv中包含的命令行参数,即利用传递给你的程序的命令行参数的清单。

如果使用ide来编写和执行这些程序,请认准的命令行参数菜单的方法指定的程序。

在这里,当我们执行python using_sys.py我们有观点,我们使用python命令来运行using_sys.py模块,然后作为参数传递给程序的内容。 python的,我们把它存储在sys.argv变量。

记住,第一个参数始终是剧本sys.argv列表,它的名称。所以,在这里,“using_sys.py”是sys.argv中[0],'我们'是sys.argv中[1],'是'是sys.argv中[2]和“论据”是sys.argv中[3]。注意,python的从0开始计数,而不是从头开始。

sys.path中包含的目录名输入模块的列表。我们可以观察到sys.path的第一个字符串是空的 - 这部分在当前目录下的空字符串表示形式是sys.path中,这pythonpath环境变量是相同的。这意味着,你可以直接在当前目录下输入模块。否则,你必须把你的模块在sys.path所列的目录之一。

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门