精华内容
下载资源
问答
  • python函数个返回值You can return many values from a function in Python. 您可以从Python中的函数返回许多值。 To achieve this, return a data structure with several values, such as a list of the total ...

    python函数多个返回值

    You can return many values from a function in Python.

    您可以从Python中的函数返回许多值。

    To achieve this, return a data structure with several values, such as a list of the total number of hours to write every week:

    为此,请返回一个具有多个值的数据结构,例如每周要写的总小时数的列表:

    def hours_to_write(happy_hours):
       week1 = happy_hours + 2
       week2 = happy_hours + 4
       week3 = happy_hours + 6
       return [week1, week2, week3]
     
    print(hours_to_write(4))
    # [6, 8, 10]

    Python data structures are intended to contain data collections using functions that can be returned.

    Python数据结构旨在包含使用可以返回的函数的数据集合。

    In this article, we will see how to return multiple values from such data structures — namely dictionaries, lists, and tuples — as well as with a class and data class (Python 3.7+).

    在本文中,我们将看到如何从此类数据结构(即字典,列表和元组)以及类和数据类(Python 3.7+)中返回多个值。

    1.使用字典 (1. Using a Dictionary)

    A dictionary includes combinations of key values inside curly braces ({}). Every item in a dictionary has a key/value combination. An item consists a key and the corresponding value that creates a pair (key:value). Dictionaries are optimized when the key is known to access values.

    字典在花括号( {} )中包含键值的组合。 字典中的每个项目都有键/值组合。 一个项目包含一个键和创建一对的对应值( key:value )。 当已知键可访问值时,将优化字典。

    Here is a dictionary of people. The name of the person is a key and their age is the corresponding value:

    这是人们的字典。 人的名字是关键,年龄是相应的值:

    people={
    'Robin': 24,
    'Odin': 26,
    'David': 25
    }

    This is how to write a function that returns a dictionary with a key/value pair:

    这是编写如何返回带有键/值对的字典的函数的方法:

    # A Python program to return multiple values using dictionary
    # This function returns a dictionary 
    def people_age(): 
        d = dict(); 
        d['Jack'] = 30
        d['Kim'] = 28
        d['Bob'] = 27
        return d
    d = people_age() 
    print(d)
    # {'Bob': 27, 'Jack': 30, 'Kim': 28}

    2.使用清单 (2. Using a List)

    A list is similar to an array of items formed using square brackets, but it is different because it can contain elements of different types. Lists are different from tuples since they are mutable. That means a list can change. Lists are one of Python’s most powerful data structures because lists do not often have to remain similar. A list may include strings, integers, and items. They can even be utilized with stacks as well as queues.

    列表与使用方括号形成的项目数组相似,但是有所不同,因为它可以包含不同类型的元素。 列表与元组不同,因为它们是可变的。 这意味着列表可以更改。 列表是Python最强大的数据结构之一,因为列表不必经常保持相似。 列表可以包括字符串,整数和项目。 它们甚至可以与堆栈以及队列一起使用。

    # A Python program to return multiple values using list
     
    def test(): 
        str1 = "Happy"
        str2 = "Coding"
        return [str1, str2];
     
    list = test() 
    print(list)
    # ['Happy', 'Coding']

    Here’s another example. It returns a list that includes natural numbers:

    这是另一个例子。 它返回一个包含自然数的列表:

    def natural_numbers(numbers = []):
       
       for i in range(1, 16):
           numbers.append(i)
       return numbers
     
    print(natural_numbers())
    # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

    3.使用元组 (3. Using a Tuple)

    A tuple is an ordered, immutable Python object. Tuples are normally used to store collections of heterogeneous data. Tuples are similar to lists except that they cannot be altered after they are defined. Typically, tuples are quicker than lists. A tuple may be created by separating items with commas: x, y, zor (x, y, z).

    元组是有序的,不变的Python对象。 元组通常用于存储异构数据的集合。 元组与列表相似,不同之处在于它们在定义后不能更改。 通常,元组比列表快。 通过用逗号分隔项目x, y, z(x, y, z)可以创建元组。

    The following example uses a tuple to store data about an employee (their name, experience in years, and company name):

    下面的示例使用一个元组来存储有关员工的数据(他们的姓名,工作年限和公司名称):

    Bob = ("Bob", 7, "Google")

    Here’s how to write a function that returns a tuple:

    这是编写返回元组的函数的方法:

    # A Python program to return multiple values using tuple
    # This function returns a tuple 
    def fun(): 
        str1 = "Happy"
        str2 = "Coding"
        return str1, str2; # we could also write (str1, str2)
    str1, str2= fun() 
    print(str1) 
    print(str2)
    # Happy
      Coding

    Note that we omitted parentheses in the return statement. The reason is you can return a tuple by separating each item with a comma, as shown in the example above.

    请注意,我们在return语句中省略了括号。 原因是您可以通过用逗号分隔每个项目来返回元组,如上面的示例所示。

    Keep in mind that the tuple is simply created by the comma — not the parentheses. The parentheses are optional unless you’re using blank tuples or syntactic uncertainty has to be prevented.

    请记住,元组仅由逗号而不是括号创建。 除非您使用空白元组或必须避免语法不确定性,否则括号是可选的。

    Refer to the official Python 3 documentation for further clarity on tuples.

    有关元组的进一步说明,请参阅Python 3官方文档

    Below is an example of a function that uses parentheses to return a tuple:

    以下是使用括号返回元组的函数示例:

    def student(name, class):
    return (name, class)
    print(student("Brayan", 10))
    # ('Brayan', 10)

    It’s easy to confuse tuples for lists. After all, they are both bags that consist of items. But note the fundamental difference:

    混淆元组的列表很容易。 毕竟,它们都是由物品组成的袋子。 但请注意基本区别:

    1. Tuples can’t be altered.

      元组不能更改。
    2. Lists can be altered.

      列表可以更改。

    4.使用对象 (4. Using an Object)

    This is identical to C/C++ as well as Java. A class (in C, a struct) can be formed to hold several attributes and return a class object:

    这与C / C ++和Java相同。 可以形成一个类(在C中为一个结构),以容纳多个属性并返回一个类对象:

    # A Python program to return multiple values using class 
    class Intro: 
     def __init__(self): 
      self.str1 = "hello"
      self.str2 = "world"
    # This function returns an object of Intro
    def message(): 
     return Intro() 
     
    x = message() 
    print(x.str1) 
    print(x.str2)
    # hello
      world

    5.使用数据类(Python 3.7+) (5. Using a Data Class (Python 3.7+))

    Using Python 3.7’s data classes, this is how you can return a class with automatically added unique methods, typing, and other useful tools:

    使用Python 3.7的数据类,可以通过自动添加的唯一方法,类型和其他有用的工具来返回类:

    from dataclasses import dataclass
    @dataclass
    class Item_list:
        name: str
        perunit_cost: float
        quantity_available: int = 0
        def total_cost(self) -> float:
            return self.perunit_cost * self.quantity_available
        
    book = Item_list("better programming.", 50, 2)
    x = book.total_cost()
    print(x)
    print(book)
    # 100
      Item_list(name='better programming.', perunit_cost=50, 
      quantity_available=2)

    See the official documentation for further clarity on data classes.

    有关数据类的进一步说明,请参见官方文档

    关键要点 (The Key Takeaway)

    The primary objective of this article is to help you return several values from a Python function. As we have seen, there are numerous methods you can use to achieve that.

    本文的主要目的是帮助您从Python函数返回几个值。 如我们所见,可以使用多种方法来实现这一目标。

    The most crucial point is that you need to learn concepts and develop your programming skills.

    最关键的一点是,您需要学习概念并发展编程技能。

    Thanks for reading.

    谢谢阅读。

    翻译自: https://medium.com/better-programming/how-to-return-multiple-values-from-a-function-in-python-3-ddb131279cd

    python函数多个返回值

    展开全文
  • python函数个返回值

    万次阅读 2018-09-21 14:45:56
    python函数可以返回多值吗?答案是肯定的。 比如在游戏中经常需要从一点移动到另一点,给出坐标、位移和角度,就可以计算出新的新的坐标: import math def move(x, y, step, angle=0): nx = x + step * ...

    转载地址:
    https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431679203477b5b364aeba8c4e05a9bd4ec1b32911e2000
    python函数可以返回多个值吗?答案是肯定的。

    比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的新的坐标:

    import math
    
    def move(x, y, step, angle=0):
        nx = x + step * math.cos(angle)
        ny = y - step * math.sin(angle)
        return nx, ny
    
    >>> x, y = move(100, 100, 60, math.pi / 6)
    >>> print(x, y)
    151.96152422706632 70.0
    

    但其实这只是一种假象,Python函数返回的仍然是单一值:

    >>> r = move(100, 100, 60, math.pi / 6)
    >>> print(r)
    (151.96152422706632, 70.0)
    

    原来返回值是一个tuple!但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。

    展开全文
  • Day06_python函数参数、返回值、嵌套   06.01_Python语言基础(函数概述)(掌握) 06.02_Python语言基础(函数的定义和调用)(掌握) 06.03_Python语言基础(函数的参数)(掌握) 06.04_Python语言基础(调用函数注意...

    Day06_python函数参数、返回值、嵌套

     

    06.01_Python语言基础(函数概述)(掌握)

    06.02_Python语言基础(函数的定义和调用)(掌握)

    06.03_Python语言基础(函数的参数)(掌握)

    06.04_Python语言基础(调用函数注意事项)(掌握)

    06.05_Python语言基础(参数总结)(掌握)

    06.06_Python语言基础(函数的返回值)(掌握)

    06.07_Python语言基础(函数的类型)(掌握)

    06.08_Python语言基础(函数的嵌套调用)(掌握)

     

    ## 06.01_Python语言基础(函数概述)(掌握)
    #
        例如:
           现在有一段代码:
           print("天王盖地虎")
           print("小鸡炖蘑菇")
           
         在来一段:
            if 条件1:
               print("天王盖地虎")
            elif 条件2:
               print("小鸡炖蘑菇")
            elif 条件3:
               print("天王盖地虎")
               print("小鸡炖蘑菇")
       
    >总结:
        如果在开发的时候,需要某段代码多次执行,但是为提高代码的编写效率和代码的重用,所以把具有独立功能的代码块组织为一个小模块,这样的模块我们成为:函数
     
    * 查一查:函数在数学中的定义是什么?

    ## 06.02_Python语言基础(函数的定义和调用)(掌握)

    * 函数的定义
    #
        函数定义的格式:
           def 函数名():
                   代码
        例如:
         #函数的定义
        def printInfo():
            print("----------")
            print("人生苦短,我用python")
            print("----------")


    * 函数的调用
    #
        格式:
           函数名()
        printInfo()


    * 做一做:定义函数,能够完成输出自己的姓名和年龄,并让函数执行
    #
        # 使用def定义函数
        # 编写完函数后需要调用,通过函数名()进行调用
        # 定义函数
        def info():
            name = input("请输入你的姓名:")
            age = input("请输入您的年龄:")
            print("您的姓名为:%s,年龄:%s"%(name,age))
        
        #调用函数
        info()

    ## 06.03_Python语言基础(函数的参数)(掌握)

    * 定义带有参数的函数
    #
        # 定义函数
        def addnum():
            a = 33
            b = 22
            c = a + b
            print(c)
        # 调用函数
        addnum()
        
        # 定义函数
        def add2Num(a,b):#形参
            c = a + b
            print(c)
        # 调用函数
        add2Num(11,22)#实参


    >做一做:定义一个函数,完成前两个数的加法运算,在对第三个数进行减法,调用该函数,完成计算并打印结果?
    #
        def add(a,b,c):
            d = a + b
            e = d - c
            print(e)
        
        add(10,20,30)

    ## 06.04_Python语言基础(调用函数注意事项)(掌握)
    * 形参和实参必须一一对应
    * 函数调用时参数的顺序
    #
        def test(a,b):
            print(a,b)
        test(1,2)
        test(b = 1, a = 2)

    ## 06.05_Python语言基础(参数总结)(掌握)
    * 形参:定义时小括号中的参数,用来接受参数
    * 实参:调用时小括号中的参数,用来传递给函数使用

    >做一做:模拟一个简单的两位数的计算器,功能(加减乘除)

    #
        #定义一个函数,完成计算器的加法运算
        def add(a,b):
            c = a + b
            print(c)
        
        
        # 定义一个函数,完成计算器的减法运算
        def minus(a, b):
            c = a - b
            print(c)
        
        
        # 定义一个函数,完成计算器的乘法运算
        def cheng(a, b):
            c = a + b
            # print(c)
        
        
        # 定义一个函数,完成计算器的除法运算
        def chu(c, d):
            c = c / d
            print(c)

        add(1,2)
        minus(2,1)
        cheng(1,2)
        chu(1,2)

    ## 06.06_Python语言基础(函数的返回值)(掌握)

    *  函数的返回值概述
        * 定义: 返回值:就是程序中函数完成一件事后将结果返回给调用者


    * 带有返回值的函数
    #
        #定义函数
        def add2num(a,b):
            c = a + b
            return c
            #或者
            # return a + b
        
        sum = add2num(1,2)
        print(sum)


    * 保存带有返回值的函数
    #
        #定义函数
        def add2num(a,b):
            c = a + b
            return c
            #或者
            # return a + b
        
        sum = add2num(1,2)
        print(sum)


    * 函数的类型

    ## 06.07_Python语言基础(函数的类型)(掌握)
    #
        函数根据有没有参数,有没有返回值,可以相互组合,一共有4中
        无参数,无返回值
        无参数,有返回值
        有参数,无返回值
        有参数,有返回值

    ### A: 无参数,无返回值
    此类函数,不能接受参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用该类函数
    #
        #无参数,无返回值
        def printInfo():
            print("------------")
            print("人生苦短,我用python")
            print("-----------")
        
        printInfo()

    ### B: 无参数,有返回值
    此类函数,不能接受参数,但是可以返回某个数据,一般情况,像数据采集,
    #
        #无参数,有返回值
        def getTemp():
            return 24
        
        temp = getTemp()
        print("当前的温度为:%d"%temp)

    ### C:  有参数,无返回值
    此类函数可以接受参数,但是不可以返回数据,一般情况适用于变量设置数据,而不需要结果
    #
        #有参数,无返回值
        def add2num(a,b):
            result = a + b
            print(result)
        
        add2num(11,22)


    ### D: 有参数,有返回值
    此类函数,不仅接受参数,同时可以返回某个数据,
    #
        """
        1.是否需要传参
            是   
                 需要传几个
                        传一个        
        2.是否需要返回
            有     return   将数据返回,二次处理
            没有  

        """
        def calculateNum(num):
            i = 0
            sum = 0
            while i <= num:
                sum += i
                i += 1
            return sum

        result = calculateNum(100)
        calculateNum(200)
        print(result)

    案例2:
    #
        #定义一个函数
        def get_wendu(a):
            wendu = 22
            print("当前的温度为:%d"%wendu)
            return wendu
        def get_wendu_huashi(wendu):
            print("======4========")
            wendu = wendu + 3
            print("=====5=====")
            print("当前的温度为:%d"%wendu)
            print("======6======")
        print("====1======")
        result = get_wendu(1000)
        print("=======2=======")
        get_wendu_huashi(result)
        print("=======3======")


    ### 总结
    * 函数是否有参数和返回值,决定函数的格式(4种)

    ## 06.08_Python语言基础(函数的嵌套调用)(掌握)

    * 概述:
        * 函数的嵌套调用:    一个函数中又调用了另外一个函数

    示例:
    #
        def testB():
            print("----testB-----")
        
        def testA():
            print("-----testA-----")
            testB()
            
        testA()


    #### 想一想:
    #
        案例1:
           1.写一个函数打印一条横线(20个“-”)
           2.打印自定义行数的横线
        
        分析:
            是否参数
                 需要    传递一个参数   确定“-”号的个数
                 不需要   
            是否返回值
                 需要    返回给调用者
                 不需要    
        
         内容:
            打印一条横线
                 有参   无返回 
                    def test(n):
                        print(n*"-")
                        
                 有参   有返回
                       def test(n):
                            return n * "-"
                            
                 无参  无返回
                      def test():
                           print(20*"-")
                           
                 无参 有返回
                       def test():
                           retrun "-" * 20


    代码:
    #
        # n:确定-号的个数
        #打印一行-号
        def printOneLine(n):
            print(n * "-")
        
        # 打印多条横线
        def printNumLine(num):
            i = 0 
            while i < num:
                printOneLine(20)
                i += 1
        
        # 调用函数
        printOneLine(20)
        printNumLine(3)


    案例2:

    #
        代码思路:
          参数
              需要   三个
          
          返回值
             需要


    实现代码:
    #
        def sum3Number(a,b,c):
            return a + b + c
        
        sum = sum3Number(1,2,3)
        print(sum)
        
        #定义一个函数,完成3个数的平均值
        def average3Number(aaa):
            averageResult = sum / 3.0
            return averageResult
        
        ave = average3Number(sum)
        print(ave)

    展开全文
  • 能否忽略python多个返回值中的一个? 假设我有一个Python函数,它在一个元组中返回多个值: def func(): return 1, 2 是否有一种好的方法可以忽略其中一个结果,而不只是将其赋值给一个临时变量?如果我只对第一个...

    能否忽略python多个返回值中的一个?

    假设我有一个Python函数,它在一个元组中返回多个值:

    def func():
        return 1, 2
    

    是否有一种好的方法可以忽略其中一个结果,而不只是将其赋值给一个临时变量?如果我只对第一个值感兴趣,有没有比这更好的方法:

    x, temp = func()
    

    在这里插入图片描述

    展开全文
  • 大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第51篇文章,第三阶段的课程:Python进阶知识:详细讲解Python中的函数(四)====>函数的参数与返回值(下篇)。函数是非常重要的内容,在这里,我会用10篇...
  • 原标题:第51p,万能参数与返回值Python函数返回值大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第51篇文章,第三阶段的课程:Python进阶知识:详细讲解Python中的函数(四)====>函数的参数与...
  • 我们一起来聊聊python函数返回值的特殊情况,之前我也碰到过类似方面的问题,到后来查阅了一些资料后,发现原来是这样。 首先,写函数的时候,一定要写函数的文档,这样方便我们识别函数是做什么的。我记得很久以前...
  • 有一个返回值 #可以返回任何数据类型 #只要返回就可以接收到#如果在一个程序中有多个返回值,只执行一个(只要执行了return,函数就结束了)3. 有多个返回值 #用多个变量接受,有多少个返回值就有多少个变量 #用一个...
  • 1. 函数返回值的定义 返回值函数运算的结果,当还需要进一步操作是,用return来返回 函数的执行结果,如果没有返回值,默认为None 一旦遇到return,函数执行结束,后面的代码不会执行 print 和 return 的区别,...
  • python返回多个返回值

    千次阅读 2019-05-30 14:01:24
    函数可以返回多值吗?答案是肯定的。 比如在游戏中经常需要从一点移动到另一点,给出坐标、位移和角度,就可以计算出新的新的坐标: import math def move(x, y, step, angle=0): nx = x + step * math....
  • Python中的函数28.4 参数与返回值8.4.1 函数返回值8.4.2 返回多值8.5 参数传递8.6 命名空间与作用域8.6.1 命名空间8.6.2 作用域8.6.3 LEGB原则8.7 Lambda表达式8.8. 递归8.8.1 递归的含义8.8.2. 循环与递归8.8.3...
  • 目录 函数函数式编程 函数的定义 函数与过程 返回值返回值类型 ...内部/内嵌函数 ...函数装饰器 ...传递函数 ...关键字参数:**others,便于函数功能的扩展 ...Python提供了许多内建函数,比如print()。我们也可..
  • 本节书摘来自异步社区《像计算机科学家一样思考...3.11 有返回值函数和无返回值函数 我们使用过的函数中,有一部分函数,如数学函数,会产生结果。因为没有想到更好的名字,我称这类函数为有返回值函数(fruitf...
  • python自定义函数返回值调用

    千次阅读 2013-10-10 10:40:33
    自定义函数: 无返回值类型;无形参类型 def function_name(parameter): 代码行 ...可以传return返回值 ...(有几个return返回值,就要在调用函数时定义几个变量,把return返回值都保存下来)
  • 上一节函数(上)学习了Python函数的定义、调用、以及函数参数。本节主要涉及以下几个方面: 函数返回值 匿名函数 变量作用域 函数返回值 从上一节学习我们知道,函数以 return [表达式] 结束函数,并返回...
  • 文章目录函数参数使用关键字参数调用函数参数默认值函数返回值返回值函数返回值函数求赞 函数参数 ​ Python中的函数参数很灵活,具体体现在传递参数有都中形式上。本节介绍种不同形式的参数和调用方式。 使用...
  • C语言函数个返回值

    千次阅读 2020-04-21 20:40:50
    函数返回多值 在平时项目中,我们会遇到一个函数要返回多值的问题。但是c语言规定一个函数只能返回一值,也就是说我们不能用return一变量的方式返回多值。那该怎么办呢? 其实很简单,结构体轻而易举实现...
  • Python函数的参数和返回值笔记

    千次阅读 2020-04-27 15:00:49
    Python函数的参数参数种类必选参数(位置参数)默认参数可变参数关键字参数参数组合...必须参数是调用一个Python函数时必须指定的参数值,不指定会报错的那种。 def greet(name): print('Hello ' + name + "!") #...
  • 今天没事和大家一起聊聊python 函数返回值的特殊情况,之前我也碰到过类似方面的问题,到后来查阅了一些资料后,发现原来是这样!我记得很久以前和大家聊过python列表操作方法,python列表非 常的强大,提供了很多...
  • # 定义函数,有多个返回值(返回元组) def measure(): """测量温度和湿度""" print("测量开始...") temp = 39 wetness = 50 print("测量结束...") # 元组-...
  • python 定义函数 返回值只取其中一

    万次阅读 2019-01-12 15:09:00
    def test(): return 1,2 a, b = test() 1 2 a, _ = test() 1 # 说明 a, _ = test() 中 返回的是一int类型 后续可直接运算 # a, b = test() 返回值是一元组, 直接运算报错  ...
  • 函数是对功能的封装语法:def 函数名(形参列表):函数体(代码块,return)调用:函数名(实参列表)#函数定义defmylen():"""计算s1的长度"""s1= "hello world"length=0for i ins1:length= length+1print(length)#...
  • Python 递归函数返回值为None的解决办法

    万次阅读 多人点赞 2018-02-28 21:02:11
    每篇一句: ...如果一个函数在内部调用自身本身,这个函数就是 递归函数 。   递归函数可以简化我们的代码,但是递归函数返回值 有时候会出现一些意想不到的问题。 先来看以下一段代码: de
  • 目录   一、函数的引入 ...五、函数返回值 一、函数的引入 在程序开始、中间、结束,输出'呵呵、哈哈、嘻嘻、嘿嘿' # 程序开始 print('呵呵,哈哈,嘻嘻,嘿嘿') print('呵呵,哈哈,...
  • 注意一点就是我们Python函数return之后,比方说它定义了一局部变量,当出了这个函数,这局部变量的引用计数会减1,在C语言当中出了函数作用域的话局部变量是直接被销毁的,而我们Python并没有局部变量这概念...
  • eval是Python的一内置函数,这个函数的作用是,返回传入字符串的表达式的结果。即变量赋值时,等号右边的表示是写成字符串的格式,返回值就是这表达式的结果。语法eval(expression[, globals[, locals]])...
  • Python语言的特点就是代码精简优美,相对其他编程语言代码量较少,结构简单,在日常学习中对于代码重复使用的场景可能会比较少,但是在工作时,可能会多次重复使用... Python函数使用def进行定义,函数的命名和变量...
  • 解决python多线程的返回值问题

    万次阅读 2018-06-07 20:51:23
    天看了下python的多线程,但是发现创建的线程得不到函数返回值,查阅资料发现需要重写Thread类,直接上代码。import threading import time """重新定义带返回值的线程类""" ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 68,653
精华内容 27,461
关键字:

python函数几个返回值

python 订阅