如何解决从主代码中的类调用函数
我创建了函数:
def login()
login_button = Button(root,text="Click here to enter data: ",command=lambda: validation(username_input_Box.get(),password_input_Box.get()))
login_button.place(x=210,y=240)
quit_button = Button(root,text="Quit",command=root.quit)
quit_button.place(x=265,y=300)
我现在把它放在一个名为“setup”的类中(该类还有其他功能):
class setup:
def login(self):
login_button = Button(root,command=lambda: self.validation(username_input_Box.get(),y=300)
我想从课外调用函数 login()。我知道通常你只会登录(),但它说“登录”没有定义。知道如何做到这一点吗?
谢谢x
解决方法
要访问一个类的方法,我们需要将一个类实例化为一个对象。然后我们就可以访问该方法作为类的实例方法,如下面的程序所示。
class setup:
def login(self):
login_button = Button(root,text="Click here to enter data: ",command=lambda: self.validation(username_input_box.get(),password_input_box.get()))
login_button.place(x=210,y=240)
quit_button = Button(root,text="Quit",command=root.quit)
quit_button.place(x=265,y=300)
obj = setup()
obj.login()
,
您可以使用静态方法装饰器。
例如:
class setup:
@staticmethod
def login():
login_button = Button(root,y=300)
请注意,我已删除 self
参数,因为 login
未使用局部变量。如果需要,您可能需要以稍微不同的方式执行此操作。
现在您可以从类外部调用该函数而无需实例化对象,如下所示:
setup.login()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。