簡體   English   中英

從另一個函數調用變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM