gpt4 book ai didi

python - 在类初始化时发出 HTTP 请求

转载 作者:行者123 更新时间:2023-12-01 05:38:52 30 4
gpt4 key购买 nike

编程新手,所以可能是一个愚蠢的问题。如果是这样,请道歉。

我正在用 Python 编写一个类,它在初始化时向 API 发出获取相当大量数据的请求:

class Foo:
def __init__(self, params):
self.params = json.dumps(params)
self.r = requests.get(api, data=self.params).json()

初始化后,有很多方法 - barbaz - 在我的理想世界中,它们都意味着对 JSON 执行不同的操作在初始化时获取。

当我实例化该类并连续调用方法时,我会执行以下操作:

test = Foo()
test.bar()
test.baz()

我天真的理解是 test.bar()test.baz() 正在对实例化时获取的相同 JSON 执行操作test 并且没有进行自己的 API 调用。显然,如果 test.bar()test.baz() 各自发出自己的请求,整个过程会慢得多。我的理解正确吗?或者 test.bar()test.baz() 正在获取它们自己的 JSON 数据副本?

最佳答案

这完全取决于barbaz函数的内容。如果您是这样编写的,它们可以调用requests.get

如果您想知道在调用 test.bar() 时是否调用 __init__ 函数,答案是否定的,事实并非如此。 __init__ 仅在实例化 Foo 对象时调用。

关于python - 在类初始化时发出 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18158918/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com