gpt4 book ai didi

python - Python 中的另一个类可以调用一个函数返回的内容吗?

转载 作者:行者123 更新时间:2023-12-01 04:00:56 32 4
gpt4 key购买 nike

我有以下代码:

import ch
import re
import sys

def doMath(desIn):
desOut = desIn+2
return desOut

class bot(ch.RoomManager):
def onMessage(self, room, user, message):
try:
cmd, args = message.body.split(" ", 1)
except:
cmd, args = message.body, ""

if cmd=="!math":
doMath(3)
print(desOut)

我正在使用 ch.py​​ 在 Chatango 聊天室中运行机器人。它旨在当用户发出特定消息时执行特定任务。在这种情况下,当用户发送 "!math" 消息时,我希望它使用输入 (desIn) 调用 doMath 函数,执行数学运算我编码,然后返回输出 (desOut)。在本例中,它应该返回 5。我的代码一直运行,但它似乎没有打印我编写的最后一行。是否可以将输出返回到我拥有的 bot 类中?

按照要求,为什么这不起作用?

def doMath(desIn):
desOut = desIn+2
return desOut

class A:
doMath(3)
print(desOut)

最佳答案

您的 desOut 变量是 doMath 函数的局部变量,这意味着 onMessage 方法无法访问它。如果您希望代码实际打印 doMath 函数的输出,您必须:

  • 将其保存在变量中。如果您想在 onMessage 函数中的其他地方使用相同的值,这非常有用:
if cmd == '!math':
math_output = doMath(3)
print(math_output)
  • 直接打印返回值即可:
if cmd == '!math':
print(doMath(3))

您可以在 this SO question 中阅读更多详细信息或更多详细信息 here .

关于python - Python 中的另一个类可以调用一个函数返回的内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36532445/

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