2019.2.11MIT的python课笔记第一 第四堂课

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


p27 p28 p29
B站上课链接
https://www.bilibili.com/video/av10447870/?p=27

概念

1.在局部环境中的多重函数绑定可以把绑定的procedure纯纯地看作文本text
两个不同procedures
2.求28

	def square(x):
		return x*x
	def twoPower(x,n):
		while n>1:
			x=square(x)
			n=n/2
		return x

	x=5
	n=1
	print(twoPower(2,8)) 
	#这个地方就直接把2、8赋值到函数里面,并且输出出来

3.请特别注意在函数当中再次调用另一个函数格外有意思,只有在调用到别的函数时才会创造环境出来,用完了过后环境就会消失。
以下图片就是按照刚才twoPower(2,8)之后的动态变化
第一状态
第二状态
第二状态
后面同理······

4.上面在函数当中进行的另一个函数的使用而进行的局部绑定绝对不会影响全局变量的值,而全局变量的值也不会用于局部变量的绑定

5.注释

  • 第一要有输入的参数解释
  • 第二要解释我这个函数能做什么

通过注释,真正完成了黑盒的定义,用户可以真正将函数用到任何地方

6.函数完成了一个闭环

  • 能够创造新的procedures并且作为python的内置功能使用
  • 性质
    • 分解性:可以将问题分解成模块,并让你能够在任何地方重新使用函数
    • 抽象性:函数隐藏了细节,能够让用户专注完成更复杂的任务

7.将函数打包到.py文件中,我们就可以轻易地通过import来使用他们

8.点的用法“.”能够从.py包里面导入相应的函数
例如circle.area就是从circle.py文件中导入area函数

from xxx import *
#导入这个包里面的任何东西

应用习题

(这个题的答案有问题,我查询修改上来)

  1. 把一个数x快速转化为n次方
	def square(x):
		return x*x
	def twoPower(x,n):
		while n>1:
			x=square(x)
			n=n/2
		return x
  1. 利用二分法,用函数定义查找任意正数幂次方根
    在这里插入图片描述
    3.修改上面的程序,使得能够求解任意大于1的数的幂次方根
    在这里插入图片描述
    4.再次修改,使得能够求解(0,1)间任意实数的任意幂次方根

总结

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值