Hi

It would help if you could describe the purpose you have in mind for doing this. There is a cute way of doing what you want:

===file: a.py===
# module a.py
test = 'first'
class aclass:
def __init__(self, mod, value):
mod.test = value # Is there another way to refer to the module this class sits in?
===end: a.py===


===file: b.py===
# file b.py
import a
x = a.aclass(a,'monkey')
print a.test
===end: b.py===

When you run "b.py", you will see 'monkey' printed. What we have done here is passed the reference to the *module* a to the constructor for aclass, and that constructor modified the module variable "test". This is a way to avoid using 'global', or in other words, the namespaces of things are still clear (for me anyway).

Cya
Caleb



On Thu, 3 Feb 2005 00:13:05 +0530, Gurpreet Sachdeva <[EMAIL PROTECTED]> wrote:

I have two classes;

a.py -->

#!/usr/bin/python
global test
test =''
class a(b):
        def __init__(self,test):
                print test
print 'Outside: '+test

b.py -->

#!/usr/bin/python
import a
a.a('Garry')

I want to pass this string (or any object later) to a.py and that too
outside the scope of class a.
Is that possible??? If yes, how???

Thanks,

Garry

-- http://mail.python.org/mailman/listinfo/python-list

Reply via email to