Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #75259

Re: Return class.

Newsgroups comp.lang.python
Date 2014-07-26 12:21 -0700
References <23517efd-6d71-4182-9f18-7aaae3b95afb@googlegroups.com> <mailman.12353.1406400496.18130.python-list@python.org>
Message-ID <4379f9cb-00d5-4809-ae02-d57085fdbe6f@googlegroups.com> (permalink)
Subject Re: Return class.
From Satish ML <satishmlwizpro@gmail.com>

Show all headers | View raw


Hi,

Which lines of code prints [4] and [4, 5, 6, 7] in the output?


Output:

CARST
Trace: display
1
Spam!Spam!Spam!Spam!Spam!Spam!Spam!Spam!
[1]
Trace: name
1
Bob
Trace: pay
2
2000

Trace: name
1
Sue
Trace: pay
2
6000
Trace: name
3
Bob
Trace: pay
4
2000
[4, 2]
INSIDE MyList
[1, 2, 3]
Trace: append
1
[4]
Trace: append
1
[4, 5, 6, 7]

Actual Code:
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())


Another module that is producing output:

from tracer import Tracer
@Tracer
class MyList(list):
    def __init__(self, *args):
        print("INSIDE MyList")
        print(*args)
      
x = MyList([1, 2, 3])
x.append(4)
print(x.wrapped)
WrapList = Tracer(list)
x = WrapList([4, 5, 6])
x.append(7)
print(x.wrapped)

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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