On Tue, Jun 28, 2011 at 5:24 PM, Jigar Tanna <[email protected]> wrote:
> hey,
>
> I am new to Python and Django, was going through the concept of decorators
> where I came across a special case of using arguments with decorators
> Below is the code for memoization where I was looking at the concept...
>
> cache = {}
> def get_key(function, *args, **kw) :
>     key = '%s. %s: ' % (function. __module__,function. __name__)
>     hash_args = [ str(arg) for arg in args]
>     hash_kw = [' %s: %s' % (k, hash(v) )
>                for k, v in kw.items() ]
>     return ' %s:: %s: : %s' % (key, hash_args, hash_kw)
>
> def memoize(get_key=get_key, cache=cache) :
>     def _memoize( function) :
>         print function
>         def __memoize(*args, **kw) :
>             key = get_key(function, *args, **kw)
>             try:
>                 return cache[key]
>             except KeyError:
>                 cache[key] = function( *args, **kw)
>                 return cache[key]
>         return __memoize
>     return _memoize
>
> @memoize()
> def factory(n) :
>     return n * n
>
>
> # testcase
> #print factory(3)
> #
> #
>
>
> According to some of my collogues it is not a good practice to use
> decorators with arguments (i.e. @memoize() ) and instead it is good to just
> use @memoize. Can any of you guys explain me advantages and disadvantages of
> using each of them
>
> Thanks ...
>

Not to rain too heavily on your parade, but:

1) Usage questions on django go to django-users@
2) Usage questions on python go to comp.lang.python
3) Only use django-developers@ if you intend on changing how django
itself is implemented.
4) Submitting the same question twice in such a short time to the same
mailing list is considered rude.

This doesn't even look like the django.utils.functional.memoize function.

Cheers

Tom

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to