返回 登录
0

【人生苦短,我用Python】Python中的函数与递归

Python课程学习:零基础入门学习Python - 阿里云大学

前面学习了Python的基础语法后,本文我们来看Python的函数与递归。

如果你学过C语言,那么对于函数和递归肯定不会陌生。下面就来看看在Python中,是如何使用的。

一、函数

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

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

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

def function(params):
    block
    return expression/value

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

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

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

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

具体可点击文章开头的链接进行学习。

二、递归

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

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

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

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

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

图片描述

Python中的递归该如何学习呢?来看看吧:零基础入门学习Python - 阿里云大学

评论