垃圾回收及性能分析
- 先来说个好玩的
s="hello eb"
getattr(s,"find")
以为返回的是某种结果,结果呢,不是的
<function str.find>
ok,有意思的来了。
getattr(s,"find")("eb")
#这才是正确的调用姿势
下面开始内容
01-通过实例方法名子的字符串调用方法
- getattr(x,“y”,None)(params)–>x.y(params)
- map(fun,iterable)–>迭代器,高阶函数,映射list
上实例
from lib01 import Triangle
from lib02 import Rectangle
from lib03 import Circle
shape1=Triangle(3,4,5)
shape2=Rectangle(4,6)
shape3=Circle(2)
#定义获取面积的函数
def get_area(shape):
method_name = ["get_area","getArea","area"]
for name in method_name:
f = getattr(shape, name, None) # shape.name
# 如果f存在
if f:
# 调用f
return