On 4/22/2012 23:08, Kiuhnm wrote:
On 4/22/2012 21:39, mambokn...@gmail.com wrote:
I need to use global var across files/modules:
# file_1.py
a = 0
def funct_1() :
a = 1 # a is global
print(a)
# file_2.py
from file_1 import *
def main() :
funct_1()
a = 2 # a is local, it's not imported
print(a)
You just forgot to declare 'a' as global inside your functions.
# file_1.py
a = 0
def funct_1() :
global a
a = 1 # a is global
print(a)
# file_2.py
from file_1 import *
def main() :
global a
funct_1()
a = 2 # a is global
print(a)
When you write 'a = 1' and 'a = 2' you create local variables named 'a'
local to your functions, unless you specify that you're referring to a
global variable by declaring 'a' as 'global'.
Actually, that doesn't work. I never used "external variables" in Python
and I thought "from file_1 import *" worked differently. What a
surprise. It makes sense though.
"Import" imports values, not variables.
Anyway, you don't need all this.
Kiuhnm
--
http://mail.python.org/mailman/listinfo/python-list