(Sponsors) Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
Python Modules
Updated on Jan 07, 2020
Python module is a normal python file which can store function, variable, classes, constants etc. Module helps us to organize related codes . For e.g math module in python has mathematical related functions.
Creating module #
Create a new file called mymodule.py
and write the following code.
1 2 3 4 | foo = 100
def hello():
print("i am from mymodule.py")
|
As you can see we have defined a global variable foo
and a function hello()
in our module. Now to use this module in our programs we first need to import it using import statement like this
import mymodule
Now you can use variable and call functions in the mymodule.py
using the following code.
1 2 3 4 | import mymodule
print(mymodule.foo)
print(mymodule.hello())
|
Expected Output:
1 2 | 100
i am from mymodule.py
|
Remember you need to specify name of module first to access it's variables and functions, failure to so will result in error.
Using from
with import
#
Using import statements imports everything in the module, what if you want to access only specific function or variable? This is where the from
statement comes, here is how to use it.
1 2 | from mymodule import foo # this statement import only foo variable from mymodule
print(foo)
|
Expected output:
100
note:
In this case you don't need to specify module name to access variables and function.
dir() method #
The dir()
is an in-built method used to find all attributes (i.e all available classes, functions, variables and constants ) of the object. As we have already discussed everything in python is object, we can use the dir()
method to find attributes of the module like this:
dir(module_name)
The dir()
returns a list of string containing the names of the available attributes.
1 2 3 | >>> dir(mymodule)
['__builtins__', '__cached__', '__doc__', '__file__',
'__loader__', '__name__', '__package__', '__spec__', 'foo', 'hello']
|
As you can see besides foo and hello there are additional attributes in the mymodule
. These are in-built attributes which python provides to all the modules automatically.
Congratulations you have completed all building blocks you need to master Python!!
Other Tutorials (Sponsors)
This site generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!
View Comments