我正在用python编写代码,并且制作了一个主类。我正在与tkinter合作。
在我班上
Main(tk.Tk)类:
我有多个变量。我定义了两个变量。在上面,我下面写了另一个变量,它运行着另外两个变量。但是然后它说,那些没有定义,但是是。错误消息:未定义名称“ bruteforceABC”
class Main(tk.Tk):
def bruteforceABC():
for length in range(1, 3): # only do lengths of 1 + 2
to_attempt = product(chars, repeat=length)
for attempt in to_attempt:
print(''.join(attempt))
def clear1():
list = window.grid_slaves()
for n in list:
n.destroy()
def clearforce():
bruteforceABC()
clear1()
我不知道,为什么这么说,它没有定义。因为我已经定义好了。我该怎么办,我没有收到此错误? 谢谢您的帮助!
答案 0 :(得分:1)
您已将这些函数定义为类方法,但将其称为泛型函数。您应该使用self.method()
来呼叫他们。
class Main(tk.Tk):
@staticmethod
def bruteforceABC():
for length in range(1, 3): # only do lengths of 1 + 2
to_attempt = product(chars, repeat=length)
for attempt in to_attempt:
print(''.join(attempt))
@staticmethod
def clear1():
list = window.grid_slaves()
for n in list:
n.destroy()
def clearforce(self):
self.bruteforceABC()
self.clear1()
赞