Python垃圾回收及性能分析

本文探讨了Python的垃圾回收机制,包括引荐计数和手动启动GC,以及内存泄漏的调试方法。同时,介绍了使用pdb进行代码调试和cProfile进行性能分析的重要技巧。文章还提到了Python中常见的参数错误及其影响。
摘要由CSDN通过智能技术生成

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值