Я новичок в python я столкнулся с тем что мне нужно сделать поле 8x8 квадратов в Tkinter, но делать его в ручную это долго, я почитал документацию и увидел функции exec() и eval().
суть вопроса вот в чём:
from tkinter import *
class Main():
def do_squares(self, number):
for sqr_num in range(0, number):
exec('self.square_' + str(sqr_num) + '=First()')
def do_smthing_with_sqr(self, name):
exec('self.' + name + '.value_1=False')
class First():
def __init__(self):
self.value_1 = 'Something'
self.value_2 = True
self.Value_3 = 0
if __name__ == '__main__':
Instance = Main()
Instance.do_squares(64)
print(Instance.square_62.value_1)
Instance.do_smthing_with_sqr('square_62')
print(Instance.square_62.value_1)
всё работает верно но вопрос в том, приветствуется ли данный подход,
print(Instance.square_62.value_1)
ведь в данной строке кода мы лишь подсознательно понимаем что переменная "square_62" будет создана но на данный момент её нет