tkinter не может получить атрибут от себя

#python #tkinter

Вопрос:

У меня ошибка , что он не может получить атрибут self.story1, self.story2… но объект self.window не вызывает ошибку. почему он показывает мне ошибку?

 from tkinter import *

class Main(Frame):
    def __init__(self, master=None):
        super().__init__()

        self.window = master
        self.__setwindow__()

        "schedule list"
        self.story1 = [""]
        self.story2 = [""]
        self.story3 = [""]
        self.story4 = [""]

    def __setwindow__(self):
        self.window.geometry("300x500")

        self.title = Label(text="오늘 할일을 작성하시오.")
        self.title.place(x=80, y=30)

        for a,b,c,d in [len(i) for i in [self.story1, self.story2, self.story3, self.story4]]:
            print(a,b,c,d)

ob = Tk()
Main(master = ob)
ob.mainloop()
 

Комментарии:

1. Вы звонили self.__setwindow__() перед созданием этих переменных истории.

2. Прежде всего, позвоните self.__setwindow__() снизу, то есть после. self.story4 Кроме того, почему вы пытаетесь извлечь из целого числа? Эта строка: for a,b,c,d in [len(i) for i in [self.story1, self.story2, self.story3, self.story4]]: выдаст ошибку. Возможно, вы имеете в виду: for a,b,c,d in [i for i in zip(self.story1, self.story2, self.story3, self.story4)]: