• 47.函数返回值(二)


    函数返回值(二)

    在python中我们怎样返回多个值?

    <1> 多个return?

    def create_nums():
        print("---1---")
        return 1  # 函数中下面的代码不会被执行,因为return除了能够将数据返回之外,还有一个隐藏的功能:结束函数
        print("---2---")
        return 2
        print("---3---")

    总结1:

    • 一个函数中可以有多个return语句,但是只要有一个return语句被执行到,那么这个函数就会结束了,因此后面的return没有什么用处
    • 如果程序设计为如下,是可以的因为不同的场景下执行不同的return

     def create_nums(num):
          print("---1---")
          if num == 100:
              print("---2---")
              return num+1  # 函数中下面的代码不会被执行,因为return除了能够将数据返回之外,还有一个隐藏的功能:结束函数
          else:
              print("---3---")
              return num+2
          print("---4---")
    
      result1 = create_nums(100)
      print(result1)  # 打印101
      result2 = create_nums(200)
      print(result2)  # 打印202

    <2> 一个函数返回多个数据的方式

    def divid(a, b):
        shang = a//b
        yushu = a%b 
        return shang, yushu  #默认是元组
    
    result = divid(5, 2)
    print(result)  # 输出(2, 1)

    总结2:

    return后面可以是元组,列表、字典等,只要是能够存储多个数据的类型,就可以一次性返回多个数据

     def function():
              # return [1, 2, 3]
              # return (1, 2, 3)
              return {"num1": 1, "num2": 2, "num3": 3}

    如果return后面有多个数据,那么默认是元组

    In [1]: a = 1, 2
    In [2]: a
    Out[2]: (1, 2)
    
    In [3]:
    In [3]: b = (1, 2)
    In [4]: b
    Out[4]: (1, 2)
    
    In [5]:

    例子1:

    # return -> 函数(方法)
    # break -> 循环
    
    # 定义一个函数
    def func():
        print("11111")
        # 如果在函数或者方法中 执行了一次return 那么return后面的代码将都不会被执行
        # 标识着函数调用结束
        return 1
        print("22222")
        return 2
        print("33333")
        return 3
    
    ret = func()
    print(ret)

    运行结果:

    11111
    1

     例子2:

    # 需求: 定义一个函数 利用这个函数 -> 名字 年龄
    # 通过函数进行数据处理
    # 我的名字叫做小明
    # 我的年龄为20岁
    # 把数据返回
    
    # 定义一个函数
    # def deal_info(name, age):
    #     # 定义两个变量
    #     my_name = "我的名字叫做" + name
    #     my_age = "我的年龄为%d岁" % age
    #     return [my_name, my_age]
    # ret = deal_info("小明", 20)
    # print(ret[0])
    # print(ret[1])
    
    def deal_info(name, age):
        # 定义两个变量
        my_name = "我的名字叫做" + name
        my_age = "我的年龄为%d岁" % age
        # 如果想返回多个数据 我们不需要写列表[] 或者元组()
        # 我们只需要把进行返回的变量 使用逗号隔开即可 默认就是元组类型
        return my_name, my_age
    
    ret = deal_info("小明", 20)
    print(type(ret))
    print(ret[0])
    print(ret[1])

    运行结果:

    <class 'tuple'>
    我的名字叫做小明
    我的年龄为20岁
  • 相关阅读:
    初学Listener
    初学filter
    Servlet开发
    伪随机数生成
    枚举类
    LeetCode74——Search a 2D Matrix
    STL——lower_bound()
    LeetCode198——house robber(不懂dp)
    LeetCode171——Excel Sheet Column Number
    参数传递的三种方式
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12833171.html
Copyright © 2020-2023  润新知