Python 类参数错误

标签 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)

最佳答案

您忘记添加 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 类并只使用保留这些方法。

关于Python 类参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30448258/

相关文章:

javascript - 在事件触发器上借助函数(动态)创建对象的实例

Python 错误 "import: unable to open X server"

python - 字符串到数值数组

javascript - 根据另一个对象的属性定义一个对象的属性

c++ - c vector 可以存储多种数据类型吗?

python - 是否可以覆盖从python3中的对象派生的 `__name__`?

python - 是否有可能有两个 float 未通过 lt、gt 和 eq 测试

python - 修复数据框中重复的索引名称

sql - Postgresql 复制树表内的数据

function - ReactJS:使用 material-ui 获取多个复选框值