python - 如何从python中的预定函数返回值?
问题描述
我正在使用 Finnhub api 来获取一些实时数据。我有 2 个代码,一个将每天登录一次 api,第二个将每小时提供一次数据。
第一个函数将根据第二个函数获取数据的详细信息。
这是我的第一个功能
def finnhub_login():
finnhub_client = finnhub.Client(api_key="xxxxxxxxxxxx")
symbols = df['SYMBOLS'].to_list()
return symbols,finnhub_client
我想将输出即符号和 finnhub 客户端用于第二个函数
这是第二个功能
def finnhub_api_call(symbols,finnhub_client):
main_value = 0
for i in symbols:
data = finnhub_client.quote(['symbol'])
main_value += data['dp']
return main_value
schedule.every(1).day.do(finnhub_login)
schedule.every(1).hour.do(finnhub_api_call,symbols,finnhub_client)
while True:
schedule.run_pending()
time.sleep(1)
在上面的代码中,如何保存第一个函数的返回值,然后将其用于第二个函数?
解决方案
您可以将所有这些包装在一个类中并使用类变量。您可以实例化您的类并从那里使用函数。每次运行第一个函数时,类变量都会发生变化。第二个函数将使用类变量而不是函数参数。
class FinnhubCaller:
def __init__(self):
pass
def finnhub_login(self):
self.client = finnhub.Client(api_key="xxxxxxxxxxxx")
self.symbols = df['SYMBOLS'].to_list()
def finnhub_api_call(self):
main_value = 0
for i in self.symbols:
data = self.client.quote(['symbol'])
main_value += data['dp']
return main_value
caller = FinnhubCaller()
schedule.every(1).day.do(caller.finnhub_login)
schedule.every(1).hour.do(caller.finnhub_api_call)
while True:
schedule.run_pending()
time.sleep(1)
推荐阅读
- algorithm - 对二维矩阵进行分区
- php - file_get_contents json 解码显示什么
- c++ - 变量“folderPath”周围的堆栈已损坏
- javascript - 从服务器加载时在 React 组件上渲染占位符项目
- visual-studio - 在 VS2017 编辑器中应该如何输入右花括号?
- drupal-8 - Drupal 8.x - 初学者 - 识别块、菜单或其他树枝模板的 id 或主机名,并在类命名中使用它
- c# - 每次击键都会调用 LowLevelKeyboardProc 两次
- c# - 使用 C# 删除 XML 中的数据
- sql - 如何在 Rails 查询中选择所有具有变体的活动产品
- python - 弃用警告:numpy.core.umath_tests