can we change the variables with function

Chris Rebert clp2 at rebertia.com
Sun May 9 05:01:58 EDT 2010


On Sun, May 9, 2010 at 1:33 AM, gopi krishna <dasarathulagopi at gmail.com> wrote:
> My Question is
> can we access the variables defined in a function ?
>>>> class A:
>     def b(self):
>         x=40
>     z=40
>
>
>>>> q=A()
>>>> q.z
> 40
>>>> q.z=60
>>>> q.z
> 60
> We can access the variables defined in a class as shown above  in the same
> way can we access the variables defined in a method?

There is likely a very hackish way to do it involving bytecode
disassembly, but it's ill-advised. Further, what if the variable isn't
a constant, as `y` is in the following example?:
   def foo(self, x):
       y = x + 3
What would you expect to get for y's value?


Why would you want such an ability in the first place? I suspect that
if you explained your use-case/situation, someone could offer a much
better alternative approach.

Cheers,
Chris
--
http://blog.rebertia.com



More information about the Python-list mailing list