KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Consider the following code example (python 2.7): class Parent: def __init__(self, child): self.child = child def __getattr__(self, attr): print("Calling __getattr__: "+attr) if hasattr(self.child, attr): return getattr(self.child, attr) else: raise AttributeError(attr) class Child: def make_statement(self, age=10): print("I am an instance of Child with age "+str(age)) kid = Child() person = Parent(kid) kid.make_statement(5) person.make_statement(20) it can be shown, that the function call person.make_statement(20) calls the Child.make_statement function through the Parent 's __getattr__ function. In the __getattr__ function I can print out the attribute, before the corresponding function in the child instance is called. So far so clear. But how is the argument of the call person.make_statement(20) passed through __getattr__ ? How am I able to print out the number '20' in my __getattr__ function?
Tags (comma-separated)
Save Edits
Cancel