"Make Twilight" <ph4...@gmail.com> wrote
I am confuse on the text above:
"If you use the 'from import' system, changes made to attrs of the
imported module /won't/ be seen by any other module that imported it.
If you do just an 'import' on a module (or 'import ... as ...'), then
changes made to attrs on the imported module /will /be seen by othe
modules that import it as well. I hope that is somewhat clear. ;)"
I had tried to simulate this situation:
------------ Module a-----------
#!usr/bin/env ptyhon
#Module a.py
name = "a::name"
------------Module b------------
#usr/bin/env python
#Module b.py
form a import *
while Ture: # True?
blah = rawinput("input something:")
print a.name
This should not work because you have not imported "a" only "name" from a.
This should therefore say
print name
------------Module c------------
#usr/bin/env python
#Module c.py
import a
while Ture:
blah = rawinput("input something:")
print a.name
But this is OK.
when i excuted b.py,c.py and modified the attr name = "a::newname",but
b.py
and c.py were still output "a::name".
How did you execute them? There is nothing to change the attributes
here so how did you change them? If you altered the source code of
a after the imports were run then the changes will not be seen.
what's the problem?
does it the right way python takes?
I'm not sure there is a problem. It depends on how you are conducting
the test and what you expect the answer to be.
Alan G.
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor