Python类参数错误

时间:2015-05-26 01:57:13

标签: python function class arguments

我正在创建一个菜单,但我遇到了一个错误,希望得到一些帮助,因为我不知道什么是错的或如何解决它,这段代码说我正在讨论但是我没有参加辩论。

class menu(object):

    def print_menu():
    # menu options    
        print "Main Menu:"
        print "Start"
        print "Quit"

    def user_menu():
    # users input
        menu_choice = raw_input('> ')

        if menu_choice == 'start':
            start()
        #does nothing as of yet
        elif menu_choice == 'quit':
            raise SystemExit

def start():
    pass

#initialising main menu
main = menu()

def start_up()

    main.print_menu()
    #first attempt
    main.user_menu()
    #second attempt
    main.user_menu()
    #third attempt
    main.user_menu()
    # start again to show the menu options
    start_up()


start_up()

请帮助,这是我运行脚本时在控制台中发生的最近调用的回溯错误

Traceback (most recent call last):
 File "Engine.py", line 38, in <module>
    start_up()
  File "Engine.py", line 27, in start_up
   main.print_menu()
TypeError: print_menu() takes no arguments (1 given)

1 个答案:

答案 0 :(得分:1)

您忘记添加self作为参数。

所以它看起来像这样:

class menu(object):

    def print_menu(self):
        # menu options    
        print "Main Menu:"
        print "Start"
        print "Quit"

    def user_menu(self):
        # users input
        menu_choice = raw_input('> ')

        if menu_choice == 'start':
            start()
        #does nothing as of yet
        elif menu_choice == 'quit':
            raise SystemExit

此外,我不确定是否需要在此使用class。如果我是你,我会摆脱menu类,并使用这些方法。