如何从函数的返回值中获取变量?

2024-10-02 22:31:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把发送消息!player1!player2的返回的播放器放到一个简短的列表中,以便我以后可以使用它们,但是我似乎找不到如何从函数内部的函数中获取返回的变量。我看到了一些关于闭包的东西,我认为这是,但即使按照这个例子,我似乎无法得到返回值,所以我可以分配它们。你知道吗

    def players(sender, event):

    def getplayer():

        msg = event.parsed[0]['msg']

        if msg == '!player1':
            BotBasicFunction.sendmsg(msgg='{} has joined the game!'.format(hasplayer()))
            hasplayer()

        if msg == '!player2':
            BotBasicFunction.sendmsg(msgg='{} has joined the game!'.format(hasplayer()))
            hasplayer()

    def hasplayer():
        invoker = event.parsed[0]['invokername']
        return invoker

    parsedmsg = event.parsed[0]['msg']

    players = [getplayer(), getplayer(), getplayer(), getplayer()]

    if parsedmsg == '!players':
        BotBasicFunction.sendmsg(msgg='{}'.format(players))

Tags: 函数eventformatifdefmsgparsedplayers