Python,为什么在for循环中定义的变量,在循环外不能使用?

如题所述

for循环内部定义的变量属于局部变量,当for循环结束以后,局部变量就会被销毁,此时如果调用这个变量就会提示你变量未定义,就会报错。如果你想在for循环外部调用这个局部变量,那么你就需要扩大它的作用范围,可以在变量名称前面加上global关键字,把它变成一个全局变量,这样即使for循环结束了,这个变量仍然有效。
在实际的编程操作中,因为全局变量会被其他函数读取到,存在一定的风险,不大建议这样做。
希望可以帮到你。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-11
不只是for循环,所有循环尽量都避免定义变量,因为每一次循环都要新建一个变量,会造成空间浪费,除非是特意为定义这些临时使用的变量。
for循环内部定义的变量在外部是不能直接使用的。只在循环内部可用。

python中for循环的用法
在Python编程中,for循环是基础且实用的控制结构。其基本语法格式是:for iterating_var in sequence:在这里,iterating_var 是循环变量,它会依次取序列sequence中的每个元素。重要的是要注意,for-in循环中的变量只在循环开始时被赋值,因此不应在循环体内重新赋值。for循环适用于遍历任何可迭代对象,如...

python中for循环的用法
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。for-in 循环中的变量的值受 for-in 循环控制,该变量将会在每次循环开始时自动被赋值,因此程序不应该在循环中对该变量赋值。for-in 循环可用于遍历任何可选代对象。所谓可迭代对象,就是指该对象中包含一个 __iter__ 方法,且该方法的返...

python下面代码sun = 0 为何不可以放到for循环外面即第一行,而是要放在...
看使用目的决定sum=0的位置,如果是求阿姆斯特朗数的话,sum就应该是发挥前一个作用,所以不能放在循环外

python中for循环的用法
1. 循环变量:在for循环中,首先需要定义一个变量,这个变量将用于在每次循环中引用可迭代对象中的每一个元素。2. 可迭代对象:这是一个包含多个元素的集合,如列表、元组、字典或字符串等。在循环过程中,每个元素都会被依次赋值给循环变量。3. 循环体语句块:这是包含在for循环中的代码块,将针对...

pythonfor循环语句
Python 有两种类型的循环:for 循环和 while 循环。for 循环用来遍历可迭代对象。可迭代对象是每次可以返回其中一个元素的对象, 包括字符串、列表和元组等序列类型,以及字典和文件等非序列类型。还可以使用迭代器和生成器定义可迭代对象。格式中,迭代变量用于存放从序列类型变量中读取出来的元素,所以一般...

为什么python for函数的第一个变量不用事先定义变量就可以用?
至于“i”为什么是inti型,Python是动态类型语言并且它足够聪明 会自动推断合适的数据类型给变量,不用我们指定数据类型。关于for语句和range()函数的解释 Python 的 for 语句与 C 或 Pascal 中的不同。Python 的 for 语句不迭代算术递增数值(如 Pascal),或是给予用户定义迭代步骤和暂停条件的能力(...

Python for循环内变量自增为什么没有效果?
i = 1 i=i+2 这两行行是无效代码,i这个变量会被for重新赋值。你应该用if判断奇偶数 for i in range(1,100):···if i % 2 == 1:···sum += i print(sum)

python中可以使用for作为变量名吗
不可以,for作为系统关键字是不能用来做变量名的,即使你用来做变量编译器也会识别为循环关键字,最终报错

python中为什么我的for循环里嵌套的if只能循环一次?
你要遍历的话,不能把name = input("请输入你想修改的学生姓名:")放在循环里 应该是先输入,对输入的字符进行循环遍历,而不是循环输入”学生姓名“代码 运行结果:运行结果

python中 for循环之后 添加元素到列表失败?
print(match) # None manch的值永远是None ,循环多少次也不会执行else语句 根据你的代码,大概猜,打开一个txt文件,把大小写字母和数字保存到列表并输出 import rels = list()with open("Exp030201.txt", mode='r', encoding='utf-8') as f:word = f.read()for i in word:ret = re...

相似回答