George Nyoro wrote: > Last time I tried to post a question regarding this, I was asked to > clarify. Okay so here it is. There is a class called Table and objects are > just tables, you know, matrices, holding different types of data. Thing > is, I want to provide a method where one can delete the object and then if > the user tries using a variable to access a certain method or attributes, > he gets an error. Let me give an example; > > class Table: > def delete_this(self): > #code to delete this object or assign it null or None > pass > > def do_something(self): > pass
> x=Table() > x.delete_this() > > #at this point, I want such that if I try to use x I get some sort of > #error > e.g. > > x.do_something() > > #Error: x is definitely not an object anymore > > > All clear? >>> class Parrot: ... def hello(self): ... print("Hello") ... def delete_this(self): ... self.__class__ = DeadParrot ... >>> class DeadParrot: ... def __getattr__(self, name): ... raise Exception("This parrot is no more") ... >>> p = Parrot() >>> p.hello() Hello >>> p.delete_this() >>> p.hello() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 3, in __getattr__ Exception: This parrot is no more But I don't think it's a good idea... _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor