return在此处起到的作用是什么?
# 房子与家具
class HouseItem: # 家具
def __init__(self,name,area):
self.name = name
self.area = area
def __str__(self): # 注意此处的语法
# return "%s占地%02f平米" % (self.name,self.area)
# 注意小数点与整数的输出方法
return "【%s】占地%.2f平米" % (self.name,self.area)
# 定义类都在同一区域
class House:
def __init__(self,house_type,area):
self.house = house_type
self.area = area
# 剩余面积
self.free_area = area
# 家具名称列表
self.item_list = []
def __str__(self):
# Python能够自动的将一对括号内的代码连接在一起
return ("户型:%s\n总面积:%.2f\n[剩余面积:%.2f]\n家具名称列表:%s"
% (self.house,self.area,
self.free_area,self.item_list))
def add_item(self,item):
print("要添加%s" % item)
if item.area > self.free_area: # 重点
print("无法添加这件家具")
# 为何此处不能用break和continue呢?
# 注意:此处的return的用法
return
self.item_list.append(item.name)
self.free_area -= item.area
bed = HouseItem("席梦思",40)
chest = HouseItem("衣柜",2)
table = HouseItem("餐桌",60)
print(bed)
print(chest)
print(table)
my_house = House("三室一厅",100)
my_house.add_item(bed)
my_house.add_item(chest)
my_house.add_item(table)
print(my_house)
未能报错
return在此处的作用
return最直观的作用是用在函数中返回值,但它还有隐含的作用是在函数中任何地方只要有return就会立刻结束函数执行,其实上面的程序相当于
if item.area > self.free_area: # 重点
print("无法添加这件家具")
# 为何此处不能用break和continue呢?
# 注意:此处的return的用法
else:
self.item_list.append(item.name)
self.free_area -= item.area
结束函数执行,只是没有返回值,这个函数里面没有循环,和break与continue没有关系