zoukankan      html  css  js  c++  java
  • Python基本语法_函数_返回值

    目录

    前言

    函数的返回值是函数重要的组成部分。函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作。可以说是函数的返回值令函数与函数之间,函数与主程序之间更加紧密的联系起来。

    函数的返回值

    在Python的函数中都有一个返回值,默认为None。也可以使用return value语句来定义一个且只能定义一个可为任意类型的返回值。但是我们能够返回一个序列类型的对象,来实现返回多个值的效果。
    Example:
    返回一个List

    In [11]: %pycat reTest.py
    #!/usr/bin/env python
    def testReturn(input1,input2):
        sum = input1 + input2
        return [sum,input1,input2]
    
    calculation = testReturn(1,2)
    x,y,z = testReturn(1,2)
    print calculation
    print x
    print y
    print z
    
    In [12]: run reTest.py
    [3, 1, 2]
    3
    1
    2

    在函数中Return和Print的区别

    很多初学者会混淆两者间的区别,总的来说:return返回值并结束函数,而print仅仅是打印输出。下面一个例子:

    In [25]: %pycat reTest.py
    #!/usr/bin/env python
    def testReturn(input1):
        for i in range(input1):
            return i
    
    def testPrint(input1):
        for i in range(input1):
            print i
    
    n = 3
    value1 = testReturn(n)
    print 'testReturn return value = %s' % value1 
    
    print '*'*15
    
    value2 = testPrint(n)
    print 'testPrint return value = %s' % value2
    
    In [26]: run reTest.py
    testReturn return value = 0
    ***************
    0
    1
    2
    testPrint return value = None

    上面例子可以很明显的看见两者间的区别。
    return:调用函数后,return将 0 返回并赋值给value1,同时结束函数。所以只能返回 0 。
    print :循环将 0 1 2 全部打印出来,但是因为函数没有return语句定义的返回值,所以返回默认None并赋值给value2 。

    函数中的文档

    顺便介绍一下函数的文档,Python函数的文档在函数定义语句的下一行中使用"""Document"""来定义,并且使用functionName.__doc__来打印函数的文档信息。
    Example:
    查看一个内置函数的文档

    In [12]: number = 123
    
    In [13]: number.__add__.__doc__
    Out[13]: 'x.__add__(y) <==> x+y'

    可以看见函数的文档是一个非常有用的东西,清晰简明的文档可以使人很快的掌握一个函数的用法。

    Jmilk

  • 相关阅读:
    1130
    Oracle 数据库常用操作语句大全
    Oracle用sys登陆报:ORA-28009:connection as sys should be as sysdba
    导出数据报ORA-39002: 操作无效 ORA-39070: 无法打开日志文件。 ORA-39087: 目录名 DUMP_DIR 无效
    SGI STL源码stl_bvector.h分析
    SGI STL源码stl_vector.h分析
    CGI 萃取技术 __type_traits
    迭代器iterator和traits编程技法
    智能指针分析及auto_ptr源码
    C++深拷贝和浅拷贝细节理解
  • 原文地址:https://www.cnblogs.com/jmilkfan-fanguiju/p/11825247.html
Copyright © 2011-2022 走看看