In python 3, I was not able to figure out what is the
difference between the commands, 'import math' and 'from math import *'. Here is
what I discovered about that.
When you import a module by the command import, eg: - 'import
math', then what happens is , though it imports the module we must specify the
module name first to access the functions inside it. Eg: - math.sqrt()
If we do 'from math import *', what happens is all the
functions in the math module gets loaded in the main workspace. That is when you use the '*'. We can specifically type the name of the functions just required. The functions
can be accessed by just their name. Eg: - sqrt() without the name of the
module.
There are pros and cons for these methods. In the second method,
if the variables or functions defined in the main, matches with the name of the
function inside the importing module, it may cause unexpected behaviour. At
some cases this is called contaminating the namespace. That is one cons. Because
you must be clear that you want to perform the method square root (sqrt) inside
the module 'math'.
Do you agree?
Stay tuned for more.
Comments
Post a Comment