Как вывести переменную из функции python?
@client.command()
async def option(ctx, messages:str):
await ctx.send('Complete!')
@client.event
async def on_member_join(member):
await ctx.send(f'{messages}')
Я хочу, чтобы переменная messages, которую я прописал в async def выводилась в последней строчке кода.
Ответы (1 шт):
Автор решения: denisnumb
→ Ссылка
Проще всего создать глобальную переменную и работать с ней из функций.
Пусть это будет g_messages, изначально - пустой объект. В обеих функциях прописываем строку global g_messages для работы с глобалкой. После этого, в функции option(), при получении messages присваиваем глобальной переменной полученное значение. После чего спокойно обрабатываем его во второй функции, уже в качестве g_messages
Код:
g_messages = None
@bot.command()
async def option(ctx, messages:str):
global g_messages
g_messages = messages
await ctx.send('Complete!')
@bot.command()
async def on_member_join(member):
global g_messages
await ctx.send(f'{g_messages}')