一、学习知识点概要
函数与lambda表达式
二、学习内容
三、学习问题与解答
1.怎么给函数编写文档?
def func(x):
...
return 0
2.怎么给函数参数和返回值注解?
def func(x: int, y: int) -> int:
'''return type int, return x add y '''
return x+y
3.闭包中,怎么对数字、字符串、元组等不可变元素更新。
用nonlocal 关键字。
4.分别根据每一行的首元素和尾元素大小对二维列表a=[[6,5],[3,7],[2,8]]排序。(利用lambda表达式)
a= [[6, 5], [3, 7], [2, 8]]
b=sorted(a,key=(lambda x:x[0]))
print(b)
c=sorted(a,key=(lambda x:x[1]))
print(c)
#[[2, 8], [3, 7], [6, 5]]
#[[6, 5], [3, 7], [2, 8]]
5.利用python解决汉诺塔问题?
有a、b、c三根柱子,在a柱子上从下往上按照大小顺序摞着64片圆盘,
把圆盘从下面开始按大小顺序重新摆放在c柱子上,尝试用函数来模拟
解决的过程。
(提示:将问题简化为已经成功地将a柱上面的63个盘子移到了b柱)
#用内嵌函数
def move(n,a,b,c):
if n==1:
print(a,'-->',c)
else:
move(n-1,a,c,b)
print(a,'-->',c)
move(n-1,b,a,c)
move(64,a,b,c)
四、学习思考与总结
1.对于python很多内容还不是很了解,需要进一步学习。
2.学习文档中的代码有一些也看得云里雾里,要多多巩固。
3.对于后面函数这些还是存在很多疑问,前面的一些知识也记不太清需要回顾。