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 errorError:"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 defineddoes anybody know why?
