关于如何访问函数的 return 的简单问题

Easy question regarding how to access the return of a function

我是 python/programming 的新手,所以这可能是一个简单的解决方案。我只是想弄清楚如何输出函数?

我使用以下:

import time
from binance.client import Client
from datetime import datetime

def process_message(msg):
    print("message type: {}".format(msg['e']))
    print(msg)
    var1 = msg['s']
    var2 = msg['p']
    print(var1 + var2)
    return(var1)

from binance.websockets import BinanceSocketManager
bm = BinanceSocketManager(client)
bm.start_trade_socket('BNBBTC', process_message)
bm.start()

此时,websocket 开始按预期流式传输数据。

因此,如果我从函数内部调用它,我可以看到函数的结果,但如果我尝试像这样调用它(在函数外部),我会收到错误消息:

print(process_message)

我收到以下信息: 函数 process_message 在 0x03A919B8

如果我自己调用函数:

process_message()

我收到:"process_message() missing 1 required positional argument: 'msg'"

如果我用参数调用函数:

process_message(msg)

我得到:名称 'msg' 未定义

我做错了什么?我将如何访问函数之外的数据?

如有任何帮助或澄清,我们将不胜感激,

非常感谢,

您实际上并没有调用 process_message 函数。为此,您需要 运行

process_message(some_variable)

此外,您的函数没有 return 语句。在 Python 中,没有 return 语句结束的函数将 return None.

所以原因是没有按预期工作,简而言之,我错了:)

上面列出的函数是一个回调函数,它的全部工作是处理另一个函数接收到的消息,所以为了得到我想要的结果,我需要修改原来的函数,而不是回调函数.

在我发布问题之前,我会把这个问题改写成对功能了解不够。

感谢您的宝贵时间。