2016-09-06 51 views
1

我有一個ResponseMessageService()類,它有幾個方法。 我只需要一種方法。Python:哪個會佔用更少的內存並且執行速度很快?

那哪個更好?

直接調用該方法?通過

ResponseMessageService().WrongRegMsg(data="Your Reg ID is wrong!") 

或採取對象

response_message_service = ResponseMessageService() 

然後調用

response_message_service.WrongRegMsg(data="Your Reg ID is wrong!") 

這將少了內存和執行是第一?

+1

更好使其靜態或類方法然後,沒有實例化的點這裏的課。執行方面,兩者將幾乎相同,唯一的區別是第一個沒有任何引用,所以它將被垃圾回收。 –

+1

你有*實際*內存或速度問題?如果沒有,請選擇最易讀和易維護的。如果你這樣做,找到真正的內存/速度問題,不要猜測。過早優化是不好的。 –

+0

謝謝@AshwiniChaudhary。 「垃圾收集」意味着它會在執行後自動從內存中刪除?對?還有一件事。它在內存中加載該類的其他方法嗎? – skpaik

回答

1

關於你的問題,

ResponseMessageService().WrongRegMsg(data="Your Reg ID is wrong!") 

可能會採取更少的內存。

分配的實例的變量使得它保持在存儲器中,至少直到變量的名稱是未結合的,例如,通過使用del response_message_service

+0

謝謝你這麼多@btquamto – skpaik

+1

你的功能似乎是獨立於類的,所以我建議把它變成一個獨立的應用模塊,像'error_handler.wrong_reg_message(數據=「您的註冊ID是錯誤的「)' –

相關問題