Skip to main content

How import works in Python

 


Learning Sections          show

How import works in Python

The import statement in Python is used to include the definitions (functions, variables, classes) from a module into the current namespace, allowing you to use those definitions in your code.

1. Basic import

The most common way to use import is:


import module_name
    

This statement imports the entire module and you can access its definitions using the module_name prefix.


2. Import specific definitions

You can also import specific definitions from a module:


from module_name import definition1, definition2
    

This allows you to use definition1 and definition2 directly without the module prefix.


3. Import all definitions

To import all definitions from a module, use:


from module_name import *
    

This imports all definitions from the module into the current namespace, but it's generally not recommended due to potential name conflicts.


4. Import with alias

Modules can be imported with an alias using the as keyword:


import module_name as alias
    

This allows you to use alias instead of module_name to access the module's definitions.


5. Importing from a package

If the module is part of a package, you can import it using the dot notation:


import package_name.module_name
    

Or import specific definitions from a module within a package:


from package_name.module_name import definition
    

6. Reloading a module

To reload a module that has already been imported, use the reload function from the importlib module:


from importlib import reload
reload(module_name)
    

7. Importing in Python 2 vs Python 3

In Python 2, relative imports are implicit. In Python 3, relative imports must be explicit using a dot (.) notation:


# Python 3 relative import
from .module import definition
    

8. Importing from a different Python file

To import classes and functions from a different Python file (e.g., from code.py to main.py), you can use the following syntax:


from code import ClassName, function_name
    

This imports the ClassName class and the function_name function from the code.py file. You can then use them in your main.py file:


# Importing from code.py to main.py
from code import ClassName, function_name

# Creating an instance of the class
instance = ClassName()

# Using the imported function
function_name()
    

Popular posts from this blog

Generators in Python

  Learning Sections          show Generators in Python Generators are a special type of iterator in Python that allow you to iterate over a sequence of items without storing them all in memory at once. They are useful for generating large sequences of data on-the-fly, or for processing data in a memory-efficient manner. Creating Generators In Python, generators are created using generator functions or generator expressions: # Generator function def my_generator ( n ): for i in range ( n ): yield i # Generator expression my_generator = ( i for i in range ( 10 )) A generator function uses the yield keyword to yield values one at a time, while a generator expression creates an anonymous generator. Iterating Over Generators You can iterate over the values produced by a generator using a for loop: for value in my_generator ( 5 ): print ( value ) This w...

Inheritance in Python

  Learning Sections          show Inheritance in Python Inheritance is a fundamental concept in object-oriented programming (OOP) that allows a class to inherit attributes and methods from another class. The class that inherits is called the child class or subclass, and the class being inherited from is called the parent class or superclass. Basic Inheritance In Python, a child class inherits from a parent class by specifying the parent class in parentheses after the child class name. Example: class Animal : def __init__ ( self , name ): self . name = name def speak ( self ): raise NotImplementedError ( "Subclass must implement this method" ) class Dog ( Animal ): def speak ( self ): return "Woof!" class Cat ( Animal ): def speak ( self ): return "Meow!" # Create instances of Dog and Cat dog = Dog ( "Buddy" ) cat = Cat ( "Whiskers" ...

Walrus Operator in Python

  Learning Sections          show Walrus Operator in Python The walrus operator ( := ) is a new assignment operator introduced in Python 3.8. It allows you to assign values to variables as part of an expression, making certain constructs more concise. Basic Usage The basic syntax for the walrus operator is: variable_name := expression Here, variable_name is assigned the value of expression , and the result of the expression is also returned. Example: Simplifying Code Consider the following example where we find and print the length of a list if it's greater than 3: # Without walrus operator my_list = [ 1 , 2 , 3 , 4 ] if len ( my_list ) > 3 : length = len ( my_list ) print ( length ) # With walrus operator my_list = [ 1 , 2 , 3 , 4 ] if ( length := len ( my_list )) > 3 : print ( length ) In the second example, the walrus operator assigns the result of len(my...