使用这些课程有什么不对?

时间:2018-03-08 12:55:24

标签: python python-3.x function class

我试图调用函数 login()然而你可以看到它没有被定义意味着我完全错误地认为了类 - 我试过理解它的用途,你可以看到我甚至不是初学者使用它们。

Screenshot of code in emulator

感谢您的帮助或提示!

1 个答案:

答案 0 :(得分:0)

我想你正在努力写这个课:

class Menu_choice():
    def login(self):
        print("Login")
    def register(self):
        pring("Register")
    def __init__(self, choice):
        self.choice = choice
        if self.choice == "LOGIN":
            self.login()
        if self.choice == "REGISTER":
            self.register()

但正如其他人所指出的那样,这类课程没有任何意义。我想你想要这样的东西:

class Menu_choice():
    def __init__(self):
        pass
    def login(self):
        print("Login")
    def register(self):
        print("Register")
    def __call__(self, choice):
        self.choice = choice
        if self.choice == "LOGIN":
            self.login()
        if self.choice == "REGISTER":
            self.register()

choice = input("Would you like to login or register?: ").upper()
m = Menu_choice()
m(choice)

您可以将您的课程设为m,但也可以定义一个__call__()功能,当您调用m(choice)

等实例时,该功能将被执行