@nevantain

Как можно обратиться к локальной переменной?

Как можно обратиться к переменной не из функции в которой она была создана, почему то global не помогает, её все равно не видно из другой части программы
from aiogram import Bot, Dispatcher, executor, types
import logging
import asyncio
import Config
import DiagramScript
import os

logging.basicConfig(level=logging.INFO)

bot = Bot(token=Config.ConfigData.TOKEN)
dp = Dispatcher(bot)

# Приветствие
@dp.message_handler(commands = ['start'])
async def Greeting(message: types.Message):
    ChatId = message.chat.id
    await bot.send_message(text = Config.ConfigData.Gereeting, chat_id = ChatId, reply_markup = Config.Keyboard.BuildGraphKeyboard)

# Кол-во строк
@dp.message_handler(content_types = ['text'])
async def Ask2OfGraph(message: types.Message):
    ChatId = message.chat.id
    await bot.send_message(text = Config.ConfigData.ASK2, chat_id = ChatId)
    if message.text == "6":
        num1 = message.text
    return num1   

# Отправка графика
@dp.message_handler(content_types = ['text'])
async def SendingGraph(message: types.Message):
    if message.text == "Построить график":
        ChatId = message.chat.id
        diagram = open("Graph.png", "rb")
        messageText = "Вот диаграмма"
        await bot.send_photo(caption = messageText, chat_id = ChatId, photo = diagram)

if __name__ == "__main__":
    DiagramScript.BuildGraph(num1, 10)
    executor.start_polling(dp)

Ошибка в переменной num1, помогите пожалуйста.
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 2
yupiter7575
@yupiter7575
Python программист
def hello():
    return 'hello world'
print(hello())
Ответ написан
Vindicar
@Vindicar
RTFM!
Лучше так не делать от слова совсем.
Либо пусть ваша функция возвращает это значение, либо сделайте её методом в классе, а локальную переменную замените на поле класса.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы