2016-06-10 63 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)