On Tuesday, October 16, 2012 3:41:55 PM UTC+5:30, Marco Nawijn wrote: > On Tuesday, October 16, 2012 10:48:17 AM UTC+2, Gaudha wrote: > > > my_package/ > > > > > > __init__.py > > > > > > my_module1.py > > > > > > my_module2.py > > > > > > variables.py > > > > > > > > > > > > I want to define common variables in __init__.py and use the namespace in > > my_module1.py or my_module2.py. Defining it is not a problem. How can call > > it from my modules? > > > > > > > > > > > > If I define them in a module (say, variables.py), I can call them by > > importing variables.py in other modules. How can it be done if I define it > > in __init__.py? > > > > > > > > > > > > It may be a silly query as I am newbie in Python. But, I would be grateful > > to get help. > > > > Hi, > > > > If you store the variables in __init__.py, you can import them from the > package. So in your case suppose __init__.py contains: > > a = 10 > > b = {1 :"Hello", 2: "World" } > > > > Than if you import my_package, you can access the variables as follows > (interactive IPython session): > > > > In [1]: import my_package > > > > In [2]: my_pack > > my_package my_package/ > > > > In [2]: my_package. > > my_package.a my_package.b > > > > In [2]: my_package.a > > Out[2]: 10 > > > > In [3]: my_package.b > > Out[3]: {1: 'Hello', 2: 'World'} > > > > In [4]:
Yea. I got it. It was a new information for me. A module in a package can import its own mother package to call the variables in __init__. Is it funny or an extraordinary feature? Anyway. I felt it as something weird. Guido should have done it something like how 'self' behaves in classes. -- http://mail.python.org/mailman/listinfo/python-list