Home

Tony wrote:

> Is this cheating?

Isn't it harder to calculate the magic indices than just writing down the
names twice?

> class a:
>         def square(self, x):
>                 print 'executing:', dir(self)[-1]
>                 print x*x
>         def cube(self, x):
>                 print 'executing:',     dir(self)[-2]
>                 print x*x*x
>
> b=a()
> b.square(3)
> b.cube(3)
> Output:
>
> PyMate r6780 running Python 2.3.5 (python)
> >>> function self naming2.py
>
> executing: square
> 9
> executing: cube
> 27

> Is this cheating?

No, just wrong.

>> class A:
.... def alpha(self): return dir(self)[-2]
.... def gamma(self): return dir(self)[-1]
....
>>> a = A()
>>> a.alpha(), a.gamma()
('alpha', 'gamma')
>>> a.beta = 42
>>> a.alpha(), a.gamma()
('beta', 'gamma')

Peter

previous
next

Re: Constructor question...
Re: howto reload Python module?
Re: Question about quoting style.
Re: Querying Graphics Card Name
Re: Check for dict key existence, and modify it in one step.
Akogo
Pajacyk
Niechciane i Zapomniane
Kidprotect
Podaruj Zycie