Ben Python ile bir noob değilim, ama böyle bir otomatik kapanma fonksiyonu yazdım ..Otomatik kapanma sınıfı yazmanın Pythonic yolu nedir?
@contextmanager
def AutoClose(obj):
try:
yield obj
finally:
obj.Close()
Bu fonksiyon ile kullanılabilen bir Kapat() yöntemine sahip üç sınıf vardır. Bu en çok Pythonic çözümü mi? Bunun yerine sınıflarda bir şeyler yapmalı mıyım?
Bu iyi görünüyor. Sınıfınızda bir yok edici de kullanabilirsiniz. – akiniwa
Yıkıcıyı kullanmaktan kaçınıyorum (örn. __del__'). Ne zaman çağrılırsa akılda tutulması gerçekten zor. Burada kabul edilen cevaba bakınız: http://stackoverflow.com/questions/1935153/del-method-being-called-in-python-when-it-is-not-expected – tom