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