python中for循环中的循环变量

废话不多说,代码伺候:

for i in range(3):
    print("hello")

print(i)

运行结果如下:

从上面的例子可以看出,for循环里面的循环变量i作用域衍生到循环外面了。说明循环变量i,在遍历完之后值并没有消失,而是保留了最后一个变量的值,而且会覆盖之前变量的值!所以平时在使用的时候变量最好别和模块其他变量重复,否则可能出问题!

原文地址:https://www.cnblogs.com/xiaohaodeboke/p/12128829.html

时间: 2024-09-29 11:25:01

python中for循环中的循环变量的相关文章

Python语言程序设计之一--for循环中累加变量是否要清零

最近学到了Pyhton中循环这一章.之前也断断续续学过,但都只是到了函数这一章就停下来了,写过的代码虽然保存了下来,但是当时的思路和总结都没有记录下来,很可惜.这次我开通了博客,就是要把这些珍贵的学习思考总结记录下来.从现在开始. 关于这一章始终有几个难点不懂.第一个就是每次循环过后,其中的累加变量是否要清零?这个问题困扰了我许久.很多次写完代码运行时发现,计算结果和我想要的结果根本不同.比如在<Python语言程序设计>这本书里,第5章习题第27题: 计算π的值:π =4 * (1 - 1/

bash的循环中无法保存变量

在bash中,如果循环在一个子shell中运行,那么在循环中对循环外面的变量的更改将在循环退出后不可见.像下面的例子: #!/bin/sh var=1 python run.py | while read line do echo $line var=var+1 let "var=var+1" done echo $var 最后面的echo输出的var仍然是1.原因是while循环位于管道中,这意味着在运行过程中,while循环实际是位于一个新的SHELL中的,while循环中的var

注意for循环中变量的作用域

for e in collections: pass 在for 循环里, 最后一个对象e一直存在在上下文中.就是在循环外面,接下来对e的引用仍然有效. 这里有个问题容易被忽略,如果在循环之前已经有一个同名对象存在,这个对象是被覆盖的. 如果在有代码感知的IDE中, IDE会提示变量是“被重新声明的”, 但运行时却不会出错. for循环不是闭包,可以使用dis模块分解以下代码可以看到: x = 5 for x in range(10): pass print x 将代码保存到test.py文件,运

python中的for循环对象和循环退出

流程控制-if条件 ? 判断条件,1位true,0是flesh,成立时true,不成立flesh,not取反 if ?1; ? ? ?print 'hello python' ? ?print 'true' ? not取反,匹配取反,表示取非1大于2的正确关系,也就是说取1大于2的不正确证明的结果 if ? not 1 > 2 and ?1 == 1; ? ? ? ? ?print 'hello python' ? ? print 'true' if ?1 > 2; ? ?print 'hel

python 如何在一个for循环中遍历两个列表

是我在看<笨方法学python>过程中发现有一行代码看不懂——“ for sentence in snippet, phrase:”,所以研究了半天,感觉挺有收获的.所以就放在博客上分享给大家了. 直入主题: 为了不耽误大家时间,如果知道以下为两段代码为什么输出不一样的话我觉得您肯定知道我下面要说的是什么了,您就不必花时间再读下去了. 1和2两段代码的区别是print在for循环中,另外一个是不在循环中.输出的结果却截然不同,如果想要弄懂如何遍历两列表,花些时间把下面的几行代码弄懂.我要说的您

关于在for循环中绑定事件打印变量i是最后一次。

其实函数引用的外部变量都是最后一次的值. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #box{ width:100px; height:100px; background-color:pink; } </style> <

管道下while循环中定义的变量在退出while循环时引用为空的问题

最近在编写一个shell脚本的时候,在while循环中定义了一些变量,但是当while退出之后调用这些变量的时候发现,变量值都为空了,折腾了一整天,才找到其原因之所在: 我在这里只是大致做一个实验,说明下这里问题出在说明地方,开始的时候代码大意就是: #!/bin/sh cat config.ini | while read var do a=$var echo $a done echo "$a mark" [[email protected]_102 ~]# cat config.i

【Javascript】: for循环中定义的变量在for循环体外也有效

for循环中定义的变量在for循环体外也有效 <script> (function(){ var a = 111; for(var i=0;i<5;i++){ var carl = 111; console.log(i); } alert("carl is:"+carl); })(); </script> 结果: carl is:111

c++的for循环中变量地址问题

for f(int i; i<10; i++) { int c=0; cout<<c<<&c<<endl; } 看这个简单的代码,新玩家容易有这样的认识:既然for循环中的代码被循环执行,那么为什么变量c没有被重定义呢. 这个问题看过任何一本c++教材头两章的都能解答,是因为作用域的存在.变量c在每一次循环结束后存储空间会被释放掉,而在下一次循环开始的时候再次定义. 那么,第二次循环中的变量的地址和第一次循环变量的地址是在同一个存储位置吗? 答案是肯定的.