0

我的代码的某个部分有问题。所以基本上我正在编写一个关于股票的程序并从互联网上下载价格/日期,并且在使用列表日期时遇到了问题,它在一个列表中包含网页中的所有内容,并且想要在其他功能中使用可变日期但是当我尝试时,它说日期不存在。基本上我不能在函数之外调用日期。任何人都可以帮助我吗?

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
4

3 回答 3

0

您是否将返回值分配给某个变量?如果是,这就是你应该如何访问日期。顺便说一句,你为什么要注释你正在返回 None,而实际上你正在返回一个日期字符串列表?

我认为 Python 3 类型注释只是建议性的,没有约束力。但是看到一个明显与现实不同步的类型注释仍然让我有点担心。

于 2013-11-11T04:19:17.180 回答
0

当然你不能访问date——如果你可以的话,那就太糟糕了!(请参阅范围的概念以获得进一步的解释)。

一种可能的解决方法是全局定义date(在函数之外)并 global date在需要时在函数内部使用。

另一个选项是返回date并将其传递给下一个函数

第三种选择是定义一个只存在一次的专用对象(参见“singleton”),它保持日期。但是您仍然必须知道如何访问它(有关可能的解决方案,请参见上文)...

于 2013-11-11T17:30:55.137 回答
0

您可以返回多个变量,也可以发送多个变量。因此,只需将您想要从打印函数访问的所有变量返回到驱动程序函数。

于 2013-11-11T15:36:27.810 回答