Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #75251
| Newsgroups | comp.lang.python |
|---|---|
| Date | 2014-07-26 11:29 -0700 |
| Message-ID | <23517efd-6d71-4182-9f18-7aaae3b95afb@googlegroups.com> (permalink) |
| Subject | Return class. |
| From | Satish ML <satishmlwizpro@gmail.com> |
Hi,
What does "return Wrapper" do in the following piece of code? Which method does it invoke?
I mean "return Wrapper" invokes __init__ method?
def Tracer(aClass):
class Wrapper:
def __init__(self, *args, **kargs):
self.fetches = 0
self.wrapped = aClass(*args, **kargs)
def __getattr__(self, attrname):
print('Trace: ' + attrname)
self.fetches += 1
print(self.fetches)
return getattr(self.wrapped, attrname)
return Wrapper
Actual program:
def Tracer(aClass):
class Wrapper:
def __init__(self, *args, **kargs):
self.fetches = 0
self.wrapped = aClass(*args, **kargs)
def __getattr__(self, attrname):
print('Trace: ' + attrname)
self.fetches += 1
print(self.fetches)
return getattr(self.wrapped, attrname)
return Wrapper
@Tracer
class Spam:
def __init__(self, *args):
print(*args)
def display(self):
print('Spam!' * 8)
@Tracer
class Person:
def __init__(self, name, hours, rate):
self.name = name
self.hours = hours
self.rate = rate
def pay(self):
return self.hours * self.rate
food = Spam("CARST")
food.display()
print([food.fetches])
bob = Person('Bob', 40, 50)
print(bob.name)
print(bob.pay())
print('')
sue = Person('Sue', rate=100, hours=60)
print(sue.name)
print(sue.pay())
print(bob.name)
print(bob.pay())
print([bob.fetches, sue.fetches])
Back to comp.lang.python | Previous | Next — Next in thread | Find similar | Unroll thread
Return class. Satish ML <satishmlwizpro@gmail.com> - 2014-07-26 11:29 -0700
Re: Return class. Chris Angelico <rosuav@gmail.com> - 2014-07-27 04:40 +1000
Re: Return class. Satish ML <satishmlwizpro@gmail.com> - 2014-07-26 12:02 -0700
Re: Return class. Satish ML <satishmlwizpro@gmail.com> - 2014-07-26 12:03 -0700
Re: Return class. Satish ML <satishmlwizpro@gmail.com> - 2014-07-26 12:04 -0700
Re: Return class. Chris Angelico <rosuav@gmail.com> - 2014-07-27 05:16 +1000
Re: Return class. Satish ML <satishmlwizpro@gmail.com> - 2014-07-26 12:21 -0700
Re: Return class. Satish ML <satishmlwizpro@gmail.com> - 2014-07-26 12:15 -0700
csiph-web