2019.2.8MIT的python课笔记第三 第四堂课p22-p26

2019.2.8MIT的python课笔记第三 第四堂课


p22 P23 p24 p25 p26

综述课引言

  1. 黑盒抽象将计算的细节和计算的使用分开。是的我们更容易调试算法和程序。构造复杂函数
  2. 引进环境的形式,可视化处理。观察使用python解释器的函数。我们如何用这些方法把新算法概念化
  3. 获得能力将任意计算转化为函数,将函数作为其他计算的组成部件,计算思维的重要元素

前言

  1. 我们面临的问题是什么呢
  • 我们的代码缺乏抽象性
    • 一个变量名没办法在不同脚本之间公用
    • 每次想使用代码都要重新载入文件
    • 一旦程序出了bug就要不断搜索这个代码,很难维护

函数把代码包装起来使得维护和应用变得简单

  1. 怎么从机械的角度来思考函数运作的方式,如何把正确的数值存储在正确的位置?
  • 使用环境的概念

概念

  1. 函数定义
    def < function name>(< formal parameters>):
    < function body>

  2. 函数返回值,如果不返回,会自动产生None返回

  3. 环境

  • 一套形式体系,用于追踪变量和数值的绑定关系
  • 将名称和表达式绑定的配对放到一张表中,我们就叫它环境
  1. python shell就是一个全局环境

  2. 环境指针
    环境指针的简单表示

  3. 调用函数的时候,局部环境是怎么发挥封装作用的?
    封装的演示
    函数的封装叫做静态辖域(static)

应用

  1. 求最大值
def max(x,y):
	if x>y:
		return x
	else:
	return y
  1. 用环境来做一下循环

  2. 假设想把某些数字的指数换成其他数字,计算新的乘幂
    用函数实现

  3. 这个简单的函数定义例子可以帮我们理解为什么明明函数里外的变量名一样,却无法直接调用函数里面的变量名,并且函数内外不会冲突的事实
    函数内外并不冲突
    P26. 的3:54对函数的内外差异进行了最易懂的说明

总结

我们学习了函数如何模块化处理,进行真正的抽象。
利用环境的定义帮助我们传送参数,对他们进行绑定
了解到可以对变量名称建立局部绑定,不同于全局绑定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值