Python for循环实战:高效重复操作指南
python怎么用for重复(循环)
Python是一种脚本语言。它取自多种语言的内容,具有独特的功能。
其中,Python中有两种类型的循环:for循环和while循环。
在这篇文章中,我将详细介绍如何使用for循环来实现某些重复操作。
可以用来遍历一个循环对象(遍历:通俗点讲就是按顺序访问第一个元素到最后一个元素)。
循环的基本结构如下:特别考虑这种情况:设计一个函数,在桌面上创建10个帖子,并用数字1-10标记它们。
1deftext_create():2path='/users/duangdan/desktop/'3fortext_nameinrange(1,11):4#Fortext_nameinrange(1,11):4#Fortext_nameinrange(1,11):4#Fortext_nameinrange(1-10)范围函数5open(path+str)+'.txt','w')astext:6#...as的使用在text中有详细介绍7text.write(str(textname))8text.close()9print('Done')。
1011text_create()现在让我们来理解每一行代码。
第1行:定义text_create函数:第2行:将变量路径赋值为桌面路径:第3行:将变量文本名称的各个数字加载到变量_name中,第5行:打开桌面上的txt文件,并执行写入操作对于每个文本;。
“If...as”参考案例在Python中,“if...as”语法用于替代传统的“try...finally”。
例如:打开桌面上的测试文件,尝试读取文件内容,最后关闭文件。
1file=open('/Users/duwangdan/Desktop/test.txt')2try:3data=file.read()4finally:5file.close()虽然此代码工作正常,但相对使用“from...”。
as”,代码会更短。
1open('/Users/duwangdan/Desktop/test.txt')asfile:2data=file.read()除了上面的单层循环之外,还有一种常见的循环,即是一个嵌套循环,例如,乘法使用嵌套循环来实现公式。
1foriinrange(1,10):2forjinrange(1,10):3print('{}X{}={}'.format(i,j,i*j))外层循环,1-9为中的序号变量i存储,每次变量取值时,内部循环将数字1-9存储在变量j中,从Python2.6开始,一个新的格式化函数用于格式化字符串。
添加,可以在{}.format中实现。
上面的例子中,就是将i、j、i*j的值放在前面的{}中,格式化成一个。
Python实现循环的最快方式(for、while等速度对比)
众所周知,Python并不是一种高效的语言。
此外,循环在任何语言中都是非常耗时的操作。
如果每一个简单的一步操作需要1个单位的时间,如果重复这个操作数万次,最终消耗的时间也会增加数万倍。
While和for是Python中常用于实现循环的两个关键字。
例如以下测试代码:
这是一个简单的求和运算,计算所有的总和从1到n的自然数。
可以看到for循环比while快了1.5秒。
两者的主要区别在于机制不同。
在每个循环中,while实际上比for多执行两个步骤:检查限制并递增变量i。
即每次执行循环时,while都会进行一次边界检查(whilei
for函数不需要执行边界检查和增量操作,也不需要添加清晰的Python代码(纯Python代码比基本C代码效率低)。
当循环次数足够多时,就会出现显着的效率差距。
您可以再添加两个函数,为for循环添加不必要的边界检查和自动递增计算:
importtimeitdefwhile_loop(n=100_000_000):i=0s=0whilei可见添加的边界检查和自动递增操作确实对for循环执行的效率产生了很大的影响。
前面说过,Python的基本解释器和内置函数都是用C语言实现的,C语言的执行效率比Python高很多。
对于上述求算术序列之和的操作,借助Python内置的sum函数,可以获得远高于for或while循环的执行效率。
可以看到,使用内置函数后,替换loop循环的exe函数的sum有循环执行的总和。
增加了一倍。
内置sum函数的聚合操作在实际上是一个循环,只不过是用C实现的,而for循环中的求和运算是用纯Python代码s+=i实现的。
C>Python。
再次扩展你的想法。
小时候,我们都听过高斯的童年故事,他巧妙地计算了从1到100的和。
1...100的和等于(1+100)*50。
这种计算方法也可以应用于上面的加法运算。
mathsum最终执行时间约为2.4e-6,缩短了数百万倍。
这里的想法是,由于循环效率低,一段代码必须执行数亿次。
只是不要循环并使用数学公式将数亿次循环操作变成只需一步。
效率自然得到了前所未有的提高。
最终结论(有点Riddler):
实现循环的最快方法—————不是循环
对于Python,更多然后尽可能使用内置函数,以尽量减少循环中的纯Python代码。
当然,内置函数在某些情况下并不是最快的。
例如,在创建列表时,按字面输入会更快。
whiletrue在python中怎么用
您可以使用whileTrue创建无限循环。在Python中,使用whileTrue创建无限循环。
循环体中的代码将被重复执行,直到遇到break语句或程序终止条件。
这种类型的循环通常用于应该连续运行或需要手动中断的任务。