[英]Calling a variable from another function
這是我遇到的問題類型的一個簡單示例:
def making_list(text):
list_ = []
i = 0
while i < int(len(text)):
list_.append(text[i])
i += 1
return list_
def calling_list(list_):
print list_
text = raw_input("text input")
making_list(text)
calling_list(list_)
可變list_,它來源於making_list,不被功能calling_list識別。 有什么可能的解決方案?
謝謝
您不會將變量存儲在任何地方。
mylist = making_list(text)
calling_list(mylist)
說明:變量名僅在函數范圍內有效。 如果離開函數(返回一些局部變量),則僅返回變量的“值”,而不是其名稱,您需要將其分配給外部變量。
您必須聲明將making_list
的輸出作為其值的變量。 making_list
函數返回list_
; 但是如果您不將其分配給函數之外的另一個變量,則無法實現。
list_ = making_list(text)
將解決您的問題。
您的making_list
函數不返回任何內容。 這會起作用
list = making_list(text)
calling_list(list)
那可行。
我不想更改或優化您的代碼,我只想提供一個可能的解決方案:
1)如果您希望將list_
存儲在內存中,請更改代碼的最后兩行,如下所示:
list_=making_list(text)
calling_list(list_)
現在,您可以在代碼中的任何位置訪問list_。
2)如果您不想存儲list_
而只想打印它而忘了它,請刪除代碼的最后2行,然后寫成這行:
calling_list(making_list(text))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.