我的代码的某些部分出了问题。所以基本上我正在编写一个关于股票和从互联网上下载价格/日期的程序,并且我在使用列表日期时遇到问题,列表日期包含一个列表中的网页,并希望在其他函数中使用变量日期但是当我尝试时,它说日期不存在。基本上我不能在函数之外调用日期。有人可以帮我吗?
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
答案 0 :(得分:0)
您是否将返回值分配给某个变量?如果是,那就是你应该如何访问日期。顺便说一下,你为什么要注释你正在返回无,当你真的要返回一个日期字符串列表时?
我认为Python 3类型的注释只是建议性的,非绑定的。但是我仍然担心我会看到类型注释与现实明显不同步。
答案 1 :(得分:0)
您可以返回多个变量,并且可以发送多个变量。因此,只需将要从打印功能访问的所有变量返回到驱动程序函数。
答案 2 :(得分:0)
当然你无法访问date
- 如果可以的话会很糟糕! (参见范围的概念以获得进一步的解释)。
可能的解决方法是全局定义date
(使用你的函数)并使用
global date
另一个选项是返回date
并将其传递给下一个函数
第三个选项是定义一个只存在一次的专用对象(参见“singleton”)来保存日期。但是你仍然需要知道如何访问它(可能的解决方案见上文)......