2016-06-10 39 views
0

我想我update_number_served方法添加到我的increment_number_served方法在我的代码。我与一般的类很困惑在这一点上,但经过一番google搜索,我似乎无法在这里找到答案,因为我很新的蟒蛇和计算器:如何通过我的方法增加属性值? (蟒蛇)

class restaurant(): 
""" 
A simple attempt to state a restaurant cuisine type and if it is open 
using classes and functions 
""" 

    def __init__(self,restaurant_name,cuisine_type): 
     """Initialize name and age attributes.""" 
     self.restaurant_name = restaurant_name 
     self.cuisine_type = cuisine_type 
     self.number_served = 0 

    def describe_restaurant(self): 
     """Simulate the restaurant cuisine type""" 
     print(self.restaurant_name.title() + " contains " + self.cuisine_type.title() + " food.") 

    def open_restaurant(self): 
     """Simulate the restaurant open""" 
     print(self.restaurant_name.title() + " is now open!") 

    def update_number_served(self, number): 
     self.number_served = number 
     print("This restaurant has served " + str(number) + " customers.") 

    def increment_number_served(self, number): 
     self.number_served += number 
     print("With a total of " + str(number)) 

restaurant_kravins = restaurant("Kravins", "jamaican") 

restaurant_kravins.describe_restaurant() 
restaurant_kravins.open_restaurant() 
restaurant_kravins.update_number_served(10) 
restaurant_kravins.increment_number_served(8) 
+2

“添加我的update_number_served方法到我的increment_number_served方法”是什么意思? – Fabricator

回答

2

其实,你应该打印self.number_served代替的number的,number是数递增,这里self.number_served += number相当于self.number_served = self.number_served + number

def increment_number_served(self, number): 
    self.number_served += number 
    print("With a total of " + str(self.number_served)) 

对于之前它self.属性,它们是“看得见”到处class内。所以你可以从另一种方法实际更新它。像在这种情况下一样,self.number_served最初在__init__中初始化,并在update_number_served中分配了一个值;并最终在increment_number_served更新。

因此,实际上,在您拨打restaurant_kravins.increment_number_served(8)后,属性self.number_served已被更新。您也可以通过以下方式查看它:

print('Total number served: ', restaurant_kravins.number_served)