鱼C论坛

 找回密码
 立即注册
查看: 1386|回复: 8

[已解决]async def 中的局部变量怎么定义为全局

[复制链接]
发表于 2022-5-6 11:25:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在async def内部定义变量并使用关键字后在外部调用提示未定义,具体应该怎么做啊C:\bot
最佳答案
2022-5-6 12:19:26
如明境 发表于 2022-5-6 12:12
提示错误 print(gld)
NameError: name 'gld' is not defined

你的异步协程要执行过了才有这个变量呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-6 11:30:45 | 显示全部楼层
使用 global 关键字,


def test():
    global a
    a = 3
test()
print(a)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-6 12:10:23 | 显示全部楼层
isdkz 发表于 2022-5-6 11:30
使用 global 关键字,


我试过了,没用,不知道是不是因为是async的原因
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-6 12:12:15 | 显示全部楼层
提示错误 print(gld)
NameError: name 'gld' is not defined
@tx.handle()
async def send_meg(bot: Bot,event:LifecycleMetaEvent):
    global gld
    gld = await bot.get_group_list()

print(gld)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-6 12:19:26 | 显示全部楼层    本楼为最佳答案   
如明境 发表于 2022-5-6 12:12
提示错误 print(gld)
NameError: name 'gld' is not defined

你的异步协程要执行过了才有这个变量呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-6 20:16:52 | 显示全部楼层
isdkz 发表于 2022-5-6 12:19
你的异步协程要执行过了才有这个变量呀

怎样才可以解决这个问题呢,尝试了一下,找不到办法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-6 20:18:26 | 显示全部楼层
如明境 发表于 2022-5-6 20:16
怎样才可以解决这个问题呢,尝试了一下,找不到办法

你这个是用在哪里的?从那个装饰器我没看出是在哪里用到的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-6 20:22:36 | 显示全部楼层
nonebot的,获取qq群列表的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-6 20:25:42 | 显示全部楼层
isdkz 发表于 2022-5-6 20:18
你这个是用在哪里的?从那个装饰器我没看出是在哪里用到的

from nonebot.adapters.onebot.v11 import GroupIncreaseNoticeEvent, Bot,Adapter,LifecycleMetaEvent
qlb = on_metaevent()
# 获取群列表
@qlb.handle()
async def qlb2(bot:Bot,event:LifecycleMetaEvent):
    global glds
    glds = await bot.get_group_list()[/code]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 10:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表