If I were to import some module called modx, how would that be different from saying
from modx import *
Wouldn't all the contents be imported from each either way? This is in python just to clarify.
The difference between import and from import in Python is: import imports the whole library. from import imports a specific member or members of the library.
“import” in Python loads a module into its own namespace whereas “from” imports a module into the current namespace. When “from” is used we don't need to mention the module name whereas, when the “import” is used we should mention the module name.
What is Importing? Importing refers to allowing a Python file or a Python module to access the script from another Python file or module. You can only use functions and properties your program can access. For instance, if you want to use mathematical functionalities, you must import the math package first.
"import turtle brings" the module and "from turtle import *" brings objects from the module.
If you import somemodule
the contained globals will be available via somemodule.someglobal
. If you from somemodule import *
ALL its globals (or those listed in __all__
if it exists) will be made globals, i.e. you can access them using someglobal
without the module name in front of it.
Using from module import *
is discouraged as it clutters the global scope and if you import stuff from multiple modules you are likely to get conflicts and overwrite existing classes/functions.
If a
defines a.b
and a.c
...
import a a.b() a.c()
vs.
from a import b b() c() # fails because c isn't imported
vs.
from a import * b() c()
Note that from foo import *
is generally frowned upon since:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With