1.通过实例⽅法名字的字符串调⽤⽅法
我们有三个图形类 Circle,Triangle,Rectangle 他们都有⼀个获取图形⾯积的⽅法,但是⽅法名字不同,我们可以实现⼀个统⼀的获取⾯积的函 数,使⽤每种⽅法名进⾏尝试,调⽤相应类的接⼝。
class Triangle:
def __init__(self,a,b,c):
self.a,self.b,self.c = a,b,c
def get_area(self):
a,b,c = self.a,self.b,self.c
p = (a+b+c)/2
return (p * (p-a)*(p-b)*(p-c)) ** 0.5
class Rectangle:
def __init__(self,a,b):
self.a,self.b = a,b
def getArea(self):
return self.a * self.b
class Circle:
def __init__(self,r):
self.r = r
def area(self):
return self.r ** 2 * 3.14159
getattr(x,“y”,None) --> 等同于 x.y 当x中不含有y时,返回None。 map(func,iterable) --> 将iterable中的元素⼀⼀映射到func函数中处理,并且返回新的 map对象。
2.垃圾回收机制
在Python程序运⾏的时候,会在内存中开辟⼀块空间,⽤于存放临时变量;当计算完成之 后,就会将结果输出到永久性存储器中。如果数据量特别⼤,那内存空间管理不妥当的话就⾮ 常容易爆内存,程序可能直接终⽌。
在Python中,⼀切皆对象。所以,每⼀个变量,实际上都是对象的⼀个指针。所以,当这个 对象的引⽤计数(指针数)为0的时候,说明它也变成了垃圾,需要被放到回收箱中。
os模块:与操作系统交互的库。
psutil模块:
与系统交互的库,能够轻松实现获取系统运⾏的进程和系统利⽤率(包括CPU、内存、磁盘、 ⽹络等)信息。它主要⽤来做系统监控,性能分析,进程管理。
通过以下代码检测程序在运⾏时的内存消耗
import os
import psutil
def show_info(start):
pid=os.getpi