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

yipeiwu_com7年前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编写电话薄实现增删改查功能

初学python,写一个小程序练习一下。主要功能就是增删改查的一些功能。主要用到的技术:字典的使用,pickle的使用,io文件操作。代码如下: import pickle #s...

通过python下载FTP上的文件夹的实现代码

复制代码 代码如下:# -*- encoding: utf8 -*-import osimport sysimport ftplibclass FTPSync(object): ...

浅谈Python 对象内存占用

一切皆是对象 在 Python 一切皆是对象,包括所有类型的常量与变量,整型,布尔型,甚至函数。 参见stackoverflow上的一个问题 Is everything an objec...

Python openpyxl 遍历所有sheet 查找特定字符串的方法

如下所示: from openpyxl import workbook from openpyxl import load_workbook from openpyxl import...

python时间序列按频率生成日期的方法

有时候我们的数据是按某个频率收集的,比如每日、每月、每15分钟,那么我们怎么产生对应频率的索引呢?pandas中的date_range可用于生成指定长度的DatetimeIndex。 我...