Храните переменную в tkinter - PullRequest
1 голос
/ 19 октября 2019

Итак, у меня есть такой код:

def awnser():
    a = 1
    print(a)
    return (a)

def opzP():
    opz = "+"
    print(opz)
    print(a)
    return

Я хочу нажать на первую кнопку, и команда «awnser» запустится. Но позже я хочу нажать на другую кнопку, и команда «opzP» должна работать. Но он не хранит переменную а. Как я могу хранить это. Спасибо за помощь ^^

Команда Return и так далее ...

def awnser():
    a = 1
    print(a)
    return (a)

def opzP():
    opz = "+"
    print(opz)
    print(a)
    return

Сообщение об ошибке вместо переменной.

1 Ответ

1 голос
/ 19 октября 2019

Без использования ООП, самый простой способ сделать это - создать глобальную переменную:

a = 0
def do1():
    global a
    a=1
def do2():
    global a
    print(a)

Но это плохой способ. Потому что он использует глобальную переменную. Лучший способ:

class Funs:
    def __init__(self):
        self.a = 0
    def answer(self):
        self.a = 1
        print(self.a)
        return (self.a)
    def opzP(self):
        self.opz = "+"
        print(self.opz)
        print(self.a)
        return
obj = Funs()
Button(command=obj.answer).pack()
Button(command=obj.opzP).pack()

Надеюсь, что это полезно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...