第四周周记

在本周,我重点学习了中国大学moocpython教程的第五章
5.1 函数
函数是一段具有特定功能的可重用的语句组,是一种功能的抽象。
它有两个作用
1 降低编程难度
2.代码复用
函数的定义:
def<函数名>(参数)
<函数体>
return <返回值>
函数定义后不经过调用不会被执行
调用时执行函数的方法
函数调用时要给出实际的参数
def fact(n):
s= 1
for i in range(n,n+1):
s*=i
return s
当我们要调用上述函数时 我们要给出函数名和参数
如fact(10)
10 时我们给的参数当函数运行时 它代替形式参数n在函数中运算。
函数的参数传递
函数可以有参数也可以没有参数但一定要保留括号
def fact():
print (“我也是函数!”)
函数括号中包含参数时括号中的函数可以时可选函数也有非可选函数,可选函数在非可选函数的后面。
def<函数名>(非可选函数,可选函数)
<函数体>
return(返回值)
设计可变数量参数
def(参数 ,*b)
函数参数传递时可以按照参数的位置传递,也可以按照参数的名称传递。
局部变量与全局变量
局部变量只作用于于函数体内当 函数调用结束后 变量得到释放
全局变量作用全局。在函数体中调用全局变量是对全局变量的更改
要想在函数体中使用全局变量只需要调用global函数
lambda函数
lambda函数返回函数名作为结果
5.3 代码复用和函数递归

代码复用和模块化设计
函数和对象都是对代码复用的主要方式
函数:在代码层面初步抽象
对象:具有属性和方法是对代码的更进一步的抽象
模块化设计:分而治之
通过函数或模块封装将模块划分为模块之间的表达
具体包括 主程序 子程序 子程序之间的关系
递归及递归的定义
函数定义中调用函数自身的方式就是递归
两个关键特征
基例:函数中不需要递归的部分 链条:函数过程中的递归链条
递归的实现
函数+分支语句
函数内部使用分支语句判断
基例和链条分别编写对应编码
实例 斐波那契数列
def fact(n):
if n1 or n2:
return 1
else:
return f(n-1) +f(n-2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值