Python 详解基本语法_函数_返回值

yipeiwu_com6年前Python基础

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'

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

深入浅析python with语句简介

with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能(2.5 版本中要通过 from __future__ import with_statement 导入后才可...

深入学习python的yield和generator

前言 没有用过的东西,没有深刻理解的东西很难说自己会,而且被别人一问必然破绽百出。虽然之前有接触过python协程的概念,但是只是走马观花,这两天的一次交谈中,别人问到了协程,顿时语塞,...

python能调用ffmpeg和aria2c吗

是的,Python 可以调用 FFmpeg 和 aria2c 这两个工具。通常,我们通过以下几种方式来实现这一目的: ˂a class="reference-link" name="1. 使用 su...

Python切片知识解析

切片原型 strs = ‘abcdefg' Strs[start: end:step] 切片的三个参数分别表开始,结束,步长 第一位下标为0,end位不取,如strs[1:3] = ‘b...

Django模板变量如何传递给外部js调用的方法小结

前言 因为工作的需要,最近一直在思考如何更好的组织Django中的静态资源,比如JS、CSS一类,如何结合前端构建工具写出更好的代码以及结构呢?下面这篇文章就给大家详细介绍了实现的方法,...