试图使用函数内部的变量来实现不同的功能?

时间:2013-11-11 04:07:40

标签: python function variables python-3.x

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

P.S。我想要达到的目标是在其他功能中使用变量日期,例如在列表日期中抽出每个日期并将它们放入一个列表中,并从列表日期中提取每个收盘价并将它们放入一个清单。

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

3 个答案:

答案 0 :(得分:0)

您是否将返回值分配给某个变量?如果是,那就是你应该如何访问日期。顺便说一下,你为什么要注释你正在返回无,当你真的要返回一个日期字符串列表时?

我认为Python 3类型的注释只是建议性的,非绑定的。但是我仍然担心我会看到类型注释与现实明显不同步。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

当然你无法访问date - 如果可以的话会很糟糕! (参见范围的概念以获得进一步的解释)。

可能的解决方法是全局定义date(使用你的函数)并使用

,如果您需要global date

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

第三个选项是定义一个只存在一次的专用对象(参见“singleton”)来保存日期。但是你仍然需要知道如何访问它(可能的解决方案见上文)......