Re: [问题] constructor

楼主: sean72 (.)   2014-12-16 18:24:15
※ 引述《sean72 (.)》之铭言:
: 标题: [问题] constructor
: 时间: Tue Dec 16 15:49:41 2014
:
: import socket
:
: class TCP:
: def __init__(self, ip, port):
: self.abc = 'hello'
:
: s = socket.socket(xxxxxxxx)
: s.connect(ip, port) # use python lib to create tcp connection
:
:
: conn = TCP(192.168.1.1, 1234)
:
:
: 上面是一段pseudo code
: 请问如果s.connect()没有成功
: python raise err
: __init__()没有完成
: 变量conn也不会成功的allocate memory
: 但是self.abc这个变量呢? 会默默地吃掉一些内存吗?
: 应该不会才对吧? 因为self, 也就是conn没有成功的init
:
:
:
:
:
作者: alibuda174 (阿哩不达)   2014-12-16 19:32:00
从你的程式看不出来有memory leak
作者: LiloHuang (十年一刻)   2014-12-16 20:07:00
直接用 Valgrind 来看看是不是有 leak 最快如果有再进一步来抓看看是否有哪个 PyObject 没被放掉
作者: ccwang002 (亮)   2014-12-17 00:14:00
可以用 Guppy 的 heapy 看 heap 上 PyObject 的变化
作者: uranusjr (←這人是超級笨蛋)   2014-12-17 11:02:00
你推论跳太快了, 至少先 ps 一下证明是 Python 在吃啊

Links booklink

Contact Us: admin [ a t ] ucptt.com