BUAA ASE数据结构课程
10.61. First class object2. 作用域加强3. Enhancement Proposal4.字典进阶5.递归函数进阶
1. First class object
-
具有类型
type(abs)
-
表达式
赋值语句的右侧
函数的实参
-
可以是列表中的元素
help(map)
2. 作用域加强
def f(x):
def f_g():
x='wan_han'
print('x=',x)
def f_h():
z=x
print('z=',z)
x=x+2
print('x=',x)
f_h()
f_g()
print('x=',x)
return f_g
x=3
z=f(x)
print('x=',x)
print('z=',z)
z()
3. Enhancement Proposal
-
易于阅读
-
缩进
-
行长
-
空行
-
==、>=、<=
-
-
函数编写指南
-
函数名
-
注释
-
# -*- coding: utf-8 -*- #模块导入 #全局变量定义 #类定义 #函数定义 #主程序 #测试程序
-
4.字典进阶
-
Value
-
任意类型
-
可重复
-
可以是列表、其他字典
-
-
Key
-
必须唯一
-
不可变类型(int,float,string,tuple,bool)
-
hashable
-
__hash__(self, /) Return hash(self).
-
-
5.递归函数进阶
def fib(n):
if n==0 or n==1:
return 1
else:
return fib(n-1)+fib(n-2)
#出现大量重复计算
#作业:分别使用列表、字典存储计算的项,记录函数调用次数,