美文网首页python
04_python基础_函数

04_python基础_函数

作者: lin0cb | 来源:发表于2020-03-05 22:49 被阅读0次

目标掌握函数的几种常见操作,包括函数定义、函数调用、递归函数

函数定义及调用

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

1 语法

def 函数名(参数列表):
    函数体
    
#函数代码块以def关键词开头,后接函数标识名称和圆括号()
#任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数
#return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None

2 案例

>>> def hello_world():
...     print("hello world")
...
>>> hello_world()
hello world
#不带参数的函数

>>> def area(width,height):
...     return width * height
...
>>> print(area(3,4))
12
#带参数的函数

递归函数

在函数内部可以调用其他函数,如果调用的是自身则为递归函数

1 实现思路

递归函数实现可分为如下三个步骤:
1、确定临界值1,一般是完成任务的前一步,需要特殊处理
2、=1,需要执行的操作
3、>1,(n)->(n-1)时的操作(n>2)

2 案例1_阶乘

#案例1:计算出阶乘n!的值
#分析:临界值为1;=1,return 1;> 1,n*(n-1)!

>>> def fact(n):
...     if n == 1:
...             return 1
...     return n * fact(n-1)
...
>>> fact(5)
120

3 案例2_汉诺塔

#案例2:有ABC三个柱子,将n个盘子从从A搬到C要怎么操作
#分析:临界值是A上有1个盘子,C上有n-1个盘子;
#若A上盘子只有一个,则A->C;
#若A上盘子有n个,n-1个盘子A->B;第n个盘子A->C;n-1个盘子B->C

>>> def move(n,a,b,c):
...     global count
...     if n==1:
...         print(a,'->',c)
...         count += 1
...     else:
...         move(n-1,a,c,b)
...         move(1,a,b,c)
...         move(n-1,b,a,c)
...     
>>> count=0
>>> move(3,'A','B','C')
A -> C
A -> B
C -> B
A -> C
B -> A
B -> C
A -> C

相关文章

  • 04_python基础_函数

    目标掌握函数的几种常见操作,包括函数定义、函数调用、递归函数 函数定义及调用 函数是组织好的,可重复使用的,用来实...

  • 3-Python 函数(2)

    本章概要:1、函数基础2、深入理解函数3、综合练习 1、函数基础 课程概要:理解函数定义函数调用函数函数文档 一、...

  • js函数、变量和函数预解析

    函数基础 函数的调用 函数与解析

  • 烧脑必备品之函数基础篇

    函数与公式 今天学习函数的基础知识,先认识函数,再学习函数,之后再了解并运用函数 今天仅仅只是学习了函数的基础知识...

  • Hive常用函数

    一、窗口函数 1、窗口函数基础结构 窗口函数 = 分析函数 + over函数分析函数:sum ( )、max ( ...

  • python基础笔记

    Python基础 函数:

  • web前端--JS函数

    一、函数基础 1、函数定义 1、函数声明function functionName(parameters) {执行...

  • 博学谷第七天

    时间:2020年1月1日内容:函数基础 *** 函数基础**** 函数的作用:函数就是将一段具有独立功能的代码块整...

  • 函数基础

    1.基本用法 1.1 什么是公式 EXCEL公式是指 以等号“=”为引导,通过运算符、函数、参数等按照一定的顺序组...

  • -----函数基础-----

    函数 在本章中,你讲学习编写函数,函数是带名字的代码块,用于完成具体的工作。 要执行函数的定义的特定任务,可调用该...

网友评论

    本文标题:04_python基础_函数

    本文链接:https://www.haomeiwen.com/subject/pjxrrhtx.html