在我没有定义的情况下,python如何猜测正在定义的函数中的参数?

在我没有定义的情况下,python如何猜测正在定义的函数中的参数?,python,Python,今天我讲述了一些关于列表的老步骤,其中之一是为脚本编写一个简单的练习列表: fruits = ['apple', 'raspberry', 'banana'] for fruit in fruits: print(fruit) 我明白了 apple raspberry banana 很简单,但用粗体字表示,水果还没有定义。那么python是如何知道我在说什么的呢 奇怪的是,当我用它运行代码时,notbeingfruit我得到了不同的答案。例如,如果我写 for w in frui

今天我讲述了一些关于列表的老步骤,其中之一是为脚本编写一个简单的练习列表:

fruits = ['apple', 'raspberry', 'banana']

for fruit in fruits:
     print(fruit)
我明白了

apple
raspberry
banana
很简单,但用粗体字表示,水果还没有定义。那么python是如何知道我在说什么的呢

奇怪的是,当我用它运行代码时,notbeing
fruit
我得到了不同的答案。例如,如果我写

for w in fruits:
     print(fruit)
我明白了


为什么会发生这种情况?这条蟒蛇对我来说是在猜测吗?我以为代码不应该这样做。

对于水果中的水果:

是循环的开始。第一次通过循环时,Python拾取
fruit
的第一个值,并将
fruit
赋值给该值。第二次通过循环时,它拾取
水果
的第二个值,并将
水果
重新指定给该值。最后,循环中的第三个值也会发生同样的情况

没有猜测。

没有猜测;您在为水果中的水果编写
时给了它一个名称:
。也就是说,“循环通过
水果
,在每个循环上,在执行循环内容之前,将
水果
中的下一项分配给名称
水果

当您对水果中的w执行<代码>操作时,您看到<代码>香蕉重复的原因是,您在运行水果中的水果<代码>的同一终端会话或脚本中执行了该操作,并且<代码>水果继续绑定到前一个循环中分配给它的最后一个值(来自<代码>水果的最终值)
w
不断从
fruits
反弹到连续项目,但您从未使用过它,您只是一直使用未更改的
fruits

值 对于水果中的w:
打印(w)

我不明白这个问题。使用
中的变量for fruit
定义它。执行第二个循环时,
fruit
仍然具有第一个循环中分配给它的最后一个值。所以你一直在打印这个值。是的,它已经定义好了,就在这里:
对于水果中的水果
在发布问题之前,请先学习python基础知识。StackOverflow不是让其他人完成你的作业;这是在你无法通过谷歌搜索解决的问题上寻求帮助。请从中重复[如何提问]()。最重要的是,在你发布文章之前,先研究一个问题。堆栈溢出不是用来取代现有的教程和文档。好的,谢谢。但是,如果我改为插补
w
或其他什么,为什么会得到不同的输出?通常,如果从头开始运行,它会在
print(fruit)
行出错,因为
fruit
没有定义。在您的情况下,您在运行第一个循环之后运行它,这意味着
水果
仍然被分配给
香蕉
,因为您没有打印w?如果你写
print(w)
你会得到预期的答案,至于你为什么会得到香蕉,可能是因为你在第一次循环后,在一个新的程序中,香蕉不会显示出来,但他的问题是为什么他写
print(fuit)
banana
banana
banana