我有一個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] –