有人能告诉我为什么这个类方法不能处理对象吗?

问题描述 投票:0回答:0

我正在尝试执行这个非常简单的代码,但由于某种原因它返回此错误,指出该属性不存在。

class Restaurant:
    def __init__(self, restaurant_name, cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        self.number_served = 0
    def describe_restaurant(self):
        print(f"{self.restaurant_name} is a {self.cuisine_type} restaurant.")
    def open_restaurant(self):
        print(f"{self.restaurant_name} is opened!")
    def set_number_served(self, number):
        self.number_served = number

当我执行以下操作时,一切正常:

restaurantOne = Restaurant("Rest", "Chinese")

restaurantOne.number_served = 10

print(restaurantOne.number_served)
10

但后来我试试这个:

restaurantOne.set_number_served(10)

我没有更改 number_served,而是收到了这条消息: 回溯(最后一次通话): 文件“”,第 1 行,在 restaurantOne.set_number_served(10) AttributeError:“餐厅”对象没有属性“set_number_served”。您的意思是:'number_served'?

有人知道为什么会这样吗?

python class methods attributes instantiation
© www.soinside.com 2019 - 2024. All rights reserved.