How to delete an instantiated object Python?
object, python, variables
Solution
`object.__del__(self)` is called when the instance is about to be destroyed.
>>> class Test:
... def __del__(self):
... print "deleted"
...
>>> test = Test()
>>> del test
deleted
Object is not deleted unless all of its references are removed(As quoted by ethan)
Also, From Python official doc reference:
`del x` doesn’t directly call `x.__del__()` — the former decrements the reference count for `x` by one, and the latter is only called when `x`‘s reference count reaches zero
Problem
I am relatively new to object oriented programming and I cannot figure out how to delete an instantiated object in Python. ``` if self.hit_paddle(pos) == True or self.hit_paddle2(pos) == True: bar = bar + 1 if bar == 1: global barbox1 barbox1 = barfill(canvas) barbox1.canvas.move(barbox1.id, 253, 367) if bar == 2: global barbox2 barbox2 = barfill(canvas) barbox2.canvas.move(barbox5.id, 413, 367) bar = 0 time.sleep(0.2) barbox1 = None barbox2 = None ``` That is the code, the main thing I was trying in order to delete the objects was `barbox1 = None`, but that doesn't seem to work.