@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, помогите пожалуйста.
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 2
yupiter7575
@yupiter7575
Python программист
def hello():
    return 'hello world'
print(hello())
Ответ написан
@Vindicar
Лучше так не делать от слова совсем.
Либо пусть ваша функция возвращает это значение, либо сделайте её методом в классе, а локальную переменную замените на поле класса.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Ovision Санкт-Петербург
от 100 000 до 300 000 ₽
Сбер Санкт-Петербург
от 100 000 до 100 000 ₽
11 мая 2021, в 07:43
2500 руб./за проект
11 мая 2021, в 07:41
35000 руб./за проект
11 мая 2021, в 06:08
10000 руб./за проект