首页技术文章正文

Python培训之Python中的函数与递归

更新时间:2017-08-23 来源:黑马程序员python培训学院 浏览量:

一、函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。无论在哪门编程语言当中,函数(在某些语言里称作方法,意义是相同的)都扮演着至关重要的角色。函数能提高应用的模块性和代码的重复利用率。

Python提供了许多内建函数,比如print(),你可以直接使用,当然你也可以自己创建函数,这叫做用户自定义函数。

在一些编程语言当中,函数声明和函数定义是区分开的,比如C语言,函数声明和函数定义可以出现在不同的文件中,但在Python中,函数声明和函数定义是视为一体的。比如:

def function(params):
   block    return expression/value

在定义了函数之后,就可以使用该函数了,但是在Python中要注意一个问题,就是在Python中不允许前向引用,即在函数定义之前,不允许调用该函数。

下面是函数定义与调用的一个示例:

# 定义函数def printme( str ):
  "打印传入的字符串"
  print str;   return;

# 调用函数printme("调用用户自定义函数!");




二、递归

程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。

在使用递归时,需要注意以下几点:

递归就是在过程或函数里调用自身 必须有一个明确的递归结束条件,称为递归出口。 注意: 切勿忘记递归出口,避免函数无限调用。

从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事!讲的什么故事呢?『从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事!讲的什么故事呢?』…… 
不断调用这个故事的内容,这就是递归。这个故事可以一直讲下去,这就是没有递归出口,造成了死循环。

下面的这个图也可以很好地说明递归概念。


1503456550298_20170803184926613.png


本文版权归黑马程序员Python培训学院所有,欢迎转载,转载请注明作者出处。谢谢!

作者:黑马程序员Python培训学院

首发:http://www.itheima.com/news/python.html


分享到:
在线咨询 我要报名
和我们在线交谈!