类中的每个属性都必须有初始值,哪怕这个值是
0
或空字符串。在有些情况下,如设置默认
值时,在方法
__init__()
内指定这种初始值是可行的;如果你对某个属性这样做了,就无需包含
为它提供初始值的形参。
修改属性的值有三种不同的方式:
- 直接通过实例进行修改;
- 通过方法进行设置;
- 通过方法进行递增(增加特定的值)
9-4 课后习题答案:
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("The restaurant'name is "+self.restaurant_name)
print("The restaurant'cuisine type is "+self.cuisine_type)
def open_restaurant(self):
print("The restaurant is opening!")
def set_number_served(self,number):
self.number_served = number
def increment_number_served(self,people_daily):
self.number_served += people_daily
def read_number(self):
print("The restautant has served "+str(self.number_served)+" people.")
restaurant=Restaurant('xukaili','chuancai')
print(restaurant.restaurant_name)
print(restaurant.cuisine_type)
restaurant.describe_restaurant()
restaurant.open_restaurant()
restaurant.number_served = 30
restaurant.read_number()
restaurant.set_number_served(40)
restaurant.read_number()
restaurant.increment_number_served(10)
restaurant.read_number()