调用一个函数,未定义错误

时间:2016-09-20 19:35:28

标签: python class

我刚开始上课,我正在尝试在我的'Python Crash Course'一书中完成练习9-1,问题的最后一部分要求我回复我的方法,但我最终得到了

  

'未定义错误'describe_restaurant()

这是我的代码:

class Restaurant():
    def __init__(self, r_name, c_type):
        self.r_name = r_name
        self.c_type = c_type

    def describe_restaurant():
        print(self.r_name.title())
        print(self.c_type.title())

    def open_restaurant():
        print(self.r_name + " is now open!")

Restaurant = Restaurant('Joe\'s Sushi', 'sushi')

print(Restaurant.r_name)
print(Restaurant.c_type)

describe_restaurant()
open_restaurant()

我认为describe_restaurant不应该被定义,因为我把它作为一个函数来使用?

1 个答案:

答案 0 :(得分:2)

尝试:

class Restaurant():
    def __init__(self, r_name, c_type):
        self.r_name = r_name
        self.c_type = c_type

    def describe_restaurant(self):
        print(self.r_name)
        print(self.c_type)

    def open_restaurant(self):
        return "{} is now open!".format(self.r_name)

restaurant = Restaurant('Joe\'s Sushi', 'sushi')

print(restaurant.r_name)
print(restaurant.c_type)

restaurant.describe_restaurant()
restaurant.open_restaurant()

您需要创建一个类实例并调用它的函数。此外,如评论中所述,您需要将self传递给实例方法。可以找到here的简短解释。