[IronPython] [python] [IronPythonStudio] Namespace ClassesandAssembly Files

Curt Hagenlocher curt at hagenlocher.org
Wed Jan 30 20:12:41 CET 2008


On Jan 30, 2008 10:29 AM, Pigneri, Rocco <rpigneri at lavastorm.com> wrote:
> It sounds like instead, I need to do this:
>
> import FormOne
> import FormTwo
>
> f  = FormOne.Forms.FormOne()
> f2 = FormTWo.Forms.FormTwo()
>
> Is this correct?

Exactly.

When you said "from FormOne import *", you introduced the symbol
"Forms" into the current namespace with the value of "FormOne.Forms".
When you then said "from FormTwo import *", you replaced the symbol
"Forms" with the value of "FormTwo.Forms".

As you suggest, Python's "import" statement is not like the C# "using"
statement.  A Pythonic import will introduce new symbols into the
local namespace at run time.  The C# using statement is simply a
directive to the compiler to tell it which namespaces to search in for
symbols that are otherwise undefined in the local scope.  It literally
does not emit any IL code that is executed at runtime.

--
Curt Hagenlocher
curt at hagenlocher.org



More information about the Ironpython-users mailing list