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

p22 P23 p24 p25 p26

B站上课链接

中文字幕:麻省理工学院公开课:计算机科学及编程导论(Python语言教程)


# 综述课引言

1. 黑盒抽象将计算的细节和计算的使用分开。是的我们更容易调试算法和程序。构造复杂函数

2. 引进环境的形式,可视化处理。观察使用python解释器的函数。我们如何用这些方法把新算法概念化

3. 获得能力将任意计算转化为函数,将函数作为其他计算的组成部件,计算思维的重要元素

# 前言

1. 我们面临的问题是什么呢

- 我们的代码缺乏抽象性

- 一个变量名没办法在不同脚本之间公用

- 每次想使用代码都要重新载入文件

- 一旦程序出了bug就要不断搜索这个代码,很难维护

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

2. 怎么从机械的角度来思考函数运作的方式,如何把正确的数值存储在正确的位置?

- 使用环境的概念

# 概念

1. 函数定义

def  < function name>(< formal parameters>):

              < function body>

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

3. 环境

- 一套形式体系,用于追踪变量和数值的绑定关系

-  将名称和表达式绑定的配对放到一张表中,我们就叫它环境

4. python shell就是一个全局环境

5. 环境指针


环境指针的简单表示

6. 调用函数的时候,局部环境是怎么发挥封装作用的?


封装的演示


函数的封装叫做静态辖域(static)

# 应用

1. 求最大值

```python script

def max(x,y):

        if x>y:

            return x

        else:

            return y

```

2. 用环境来做一下循环

3. 假设想把某些数字的指数换成其他数字,计算新的乘幂

用函数实现

4. 这个简单的函数定义例子可以帮我们理解为什么明明函数里外的变量名一样,却无法直接调用函数里面的变量名,并且函数内外不会冲突的事实


函数内外并不冲突


P26. 的3:54对函数的内外差异进行了最易懂的说明

5.

# 总结

我们学习了函数如何模块化处理,进行真正的抽象。

利用环境的定义帮助我们传送参数,对他们进行绑定

了解到可以对变量名称建立局部绑定,不同于全局绑定

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 栈块、堆块、全局块 (Block详解) 对于Block之前只是在用,对于栈,堆这块没有细入研究,今天抽空把”Eff...
    高思阳阅读 1,805评论 0 0
  • <!DOCTYPE html> Title * { margin: 0; ...
    骨子_6889阅读 1,607评论 0 0
  • 不想看书不想想太多,顿时觉得很多东西都可以去。活在世界上很难,死了更加不容易。前路有多少美好在呀
    沐茶小野公举SUNNY阅读 1,396评论 0 0
  • 好多时候,都想放弃。 睁开眼睛,望向窗外,又告诉自己,要永不言弃。 好多时间,都想抱歉。 翻身而起,套上新衣,又告...
    暖笑如云阅读 1,391评论 0 0
  • 漂泊时,渴望安定。 安定时,心向远方。 偶尔, 抬头仰望,像是被钢筋水泥吞噬的猎物。 转眼, 低头瞬间,便把适才的...
    张小小屎阅读 1,711评论 3 4

友情链接更多精彩内容