Flash Bomb368 2022-11-05 11:37 采纳率: 50%
浏览 16
已结题

python函数中return的作用

问题遇到的现象和发生背景

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在此处的作用

  • 写回答

2条回答 默认 最新

  • chuifengde 2022-11-05 12:07
    关注
    return最直观的作用是用在函数中返回值,但它还有隐含的作用是在函数中任何地方只要有return就会立刻结束函数执行,其实上面的程序相当于
    if item.area > self.free_area:                # 重点
                print("无法添加这件家具")
                # 为何此处不能用breakcontinue呢?
                # 注意:此处的return的用法
    else:
            self.item_list.append(item.name)
            self.free_area -= item.area
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月13日
  • 已采纳回答 11月5日
  • 创建了问题 11月5日

悬赏问题

  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)