我有一个for
-loop,它在熊猫数据框df_drinks
内取行,并将它们用作参数来调用另一个函数order()
。 order()
从模块restaurant.py
导入。如何正确地将本地变量分配给python中的for-loop?
与df_drinks
中的行一起,我想提交一个comment
到order()
,它在for-loop之外指定。
from restaurant import order
statement = "Lets order"
df_drinks = ["1 drink", "2 drink"] # simplified, 1 item per row, many columns
for index, row in df_drinks.iterrows():
print ("%s, %s" % (statement, row))
item = row
response = order(statement, item)
...
模块看起来是这样的:
# restaurant.py
def order(statement, item):
listen(statement)
statement = "order received"
ready_drinks = prepare(item)
...
return ready_drinks
第一次运行/行,一切都很好,因为一个print
产量:
让我们为了喝1
然而,对于第二次运行/行,print
收益率:
订单收到2杯饮料而不是让订单2饮料。
据我所知,我有两个不同的事物相同的变量名statement
。仍然,我很困惑,因为order()
restaurant.py
只返回ready_drinks
而不是statement
。
如何正确地将本地变量分配给python中的for-loop?
没有更多的细节很难帮助。你所显示的内容不能改变for循环中的'statement'。 – AChampion
你是否想把'order'赋给调用者的'statement'变量? Python不能这样工作。它可能有助于阅读[快速解释Python变量如何工作](https://nedbatchelder.com/text/names.html)。 – user2357112
请提供[mcve] –