Apr-02-2020, 12:10 PM
Hi. I've got a problem with exec() function in my class. If code is like:
def rysuj(self, frame, tuptus): for bu in tuptus: def foo(): print(self.x_coord) exec('self.'+'y_coord') foo()everything is fine, but if i delate print:
def rysuj(self, frame, tuptus): for bu in tuptus: def foo(): exec('self.'+'y_coord') foo()gives me an error
Error:"C:\Users\karol\anaconda3\envs\porjekt ostateczny\python.exe" "C:\Users\karol\PycharmProjects\porjekt ostateczny\main_menu_by_tkinter_2.py"
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\karol\anaconda3\envs\porjekt ostateczny\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:\Users\karol\PycharmProjects\porjekt ostateczny\main_menu_by_tkinter_2.py", line 152, in <lambda>
command=lambda: self.rysuj(self.ctr_left,przyciski_rysuj),
File "C:\Users\karol\PycharmProjects\porjekt ostateczny\main_menu_by_tkinter_2.py", line 177, in rysuj
foo()
File "C:\Users\karol\PycharmProjects\porjekt ostateczny\main_menu_by_tkinter_2.py", line 176, in foo
exec('self.'+'y_coord')
File "<string>", line 1, in <module>
NameError: name 'self' is not defined
does anybody know why?