簡體   English   中英

試圖將函數內部的變量用於不同的函數?

[英]Trying to use a variable that is inside a function for different functions?

我在代碼的某些部分遇到麻煩。 因此,基本上,我正在編寫一個有關股票的程序,並從互聯網上下載價格/日期,並且在使用列表日期時遇到了麻煩,該列表日期將網頁中的所有內容都包含在一個列表中,並且想要在其他功能中使用可變日期,但是當我嘗試時,它說日期不存在。 基本上我不能在函數之外調用日期。 誰能幫我嗎?

PS:我要達到的目標是在其他功能中使用可變日期,例如,將清單日期中的每個日期均剔除並將其放入一個列表,然后從清單日期中剔除每個收盤價並將其放入中進入一個列表。

def _print_url_contents(response: http.client.HTTPResponse) -> None:
    content_bytes = response.read()
    content_string = content_bytes.decode(encoding='utf-8')
    content_lines = content_string.splitlines()

    print()
    date = []

    for line in content_lines:
        date.append(line)
    return date

您是否正在將返回值分配給某個變量? 如果是,這就是您應該訪問日期的方式。 順便說一句,當您實際上返回的是日期字符串列表時,為什么要注釋為未返回?

我認為Python 3類型注釋僅是建議性的,沒有約束力。 但是看到類型注釋顯然與現實不同步仍然讓我有些擔心。

您可以返回多個變量,也可以發送多個變量。 因此,只需將要訪問的所有變量從打印功能返回到驅動程序功能即可。

當然,您無法訪問date -如果可以的話,那會很糟糕! (有關更多說明,請參見范圍的概念)。

可能的解決方法是按需定義date (在函數的外部),並在需要時在函數內使用global date

另一個選擇是返回date並將其傳遞給下一個函數

第三種選擇是定義一個僅保留一次的專用對象(請參閱“單例”)以保留日期。 但是您仍然必須知道如何訪問它(有關可能的解決方案,請參見上文)...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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