Вы можете объявить свою переменную, используя self
, чтобы вы могли напрямую обращаться к ней в других методах вашего класса, так как encrypt
и decrypt
являются методами, принадлежащими к одному и тому же классу.
class Cryptography:
def encrypt(self, string):
byteString = str.encode(string)
self.token = f.encrypt(byteString) # <--- self type here
w.insert(tkinter.INSERT, token.decode() + "\n")
w.pack()
def decrypt(self):
try:
decrypted = f.decrypt(self.token) # <--- self.token here
except NameError:
w.insert(tkinter.INSERT, "you didn't yet encrypt anything\n")
w.pack()
decrypted = f.decrypt(self.token) # <---- self.token used here
dsAsString = decrypted.decode("utf-8")
w.insert(tkinter.INSERT, dsAsString + "\n")
В качестве альтернативы, объявление global
должно быть сделано в функции decrypt
def decrypt(self):
global token
try:
decrypted = f.decrypt(token)
except NameError:
w.insert(tkinter.INSERT, "you didn't yet encrypt anything\n")
w.pack()
decrypted = f.decrypt(token)
dsAsString = decrypted.decode("utf-8")
w.insert(tkinter.INSERT, dsAsString + "\n")