Python函数(10/30)

前言

Life is short,you need Python !(持续更新)

大纲

  • 函数的定义与使用
  • 代码复用和递归
  • Lambda函数
  • 实例 斐波那契数列与古典问
  • 回顾总结

函数的定义与使用

函数的定义与理解

传统定义:一般的,在一个变化过程中,假设有两个变量x、y,如果对于任意一个x都有唯一确 定的一个y和它对应,那么就称x是自变量,y是x的函数。x的取值范围叫做这个函 数的定义域,相应y的取值范围叫做函数的值域 。

编程 函数过程中的这些语句用于完成某些有意义的工作——通常是处理文本,控制输入或计算数值。 通过在程序代码中引入函数名称和所需的参数,可在该程序中执行(或称调用)该函数。 类似过程,不过函数一般都有一个返回值。它们都可在自己结构里面调用自己,称为递归。

函数的定义与理解

函数是一段具有特定功能的、可重用的语句组 作用:降低编程难度 和 代码复用 函数是一段代码的表示。

在这里插入图片描述

函数的信息传递

#最简单函数的信息传递 
#创建函数 
def greet(username):
    print(‘Hello , ’+ username )    
#调用函数 
greet(‘Jack')

代码greet(‘Jack’)将Jack’这个实参 传递到username这个形参上去,形参 username暂时存储了Jack’这个值, 然后再在函数体中执行函数里面的代码。

函数的使用及调用过程

在这里插入图片描述

函数定义时,所指定的参数是一种占位符。

函数定义后,如果不经过调用,不会被执行。

  • 调用时要给出实际参数
  • 实际参数替换定义中的参数
  • 函数调用后得到返回值

函数的参数传递

在这里插入图片描述

函数可以有参数,也可以没有,但必须保留括号。

函数定义时可以为某些参数指定默认值,构成可选参数。

函数的返回值

return保留字用来传递返回值 函数可以有返回值,也可以没有。
return可以传递0个返回值,也可以传递任意 多个返回值。

函数的局部变量和全局变量

  • 局部变量和全局变量是不同变量,可以重名
  • 可以通过global保留字在函数内部声明全局变量
  • 局部变量为组合数据类型且未创建,等同于全局变量

代码复用和递归

代码复用

代码资源化:程序代码是一种用来表达计算的"资源" 。
代码抽象化:使用函数等方法对代码赋予更高级别的定义。
代码复用:同一份代码在需要时可以被重复使用。

模块化设计

在这里插入图片描述

函数递归的理解

函数定义中调用函数自身的方式

在这里插入图片描述

函数的递归的调用过程

在这里插入图片描述

lambda函数

在这里插入图片描述

实例 斐波那契数列与古典问题

斐波那契数列

在这里插入图片描述

古典问题1

题目:猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个; 第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天 剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多 少个桃子?

古典问题2

题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第3 个月又生一对兔子,假如兔子都不死, 从控制台输入第N个月,显示此时兔子总 数(对)。

回顾总结

思维导图

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值