Advanced Modules

Python ModulesFree Lesson

Advertisement

Advanced Modules

Module imports, package structure, init.py, and module patterns.

Overview

Master advanced module concepts.

Import Patterns

# Basic imports
import os
from os import path
from os.path import join, exists

# Aliased imports
import numpy as np
import pandas as pd

# Conditional imports
try:
    import ujson as json
except ImportError:
    import json

# Lazy imports
def heavy_import():
    import tensorflow as tf
    return tf

Package Structure

Architecture Diagram
my_package/
ā”œā”€ā”€ __init__.py
ā”œā”€ā”€ module1.py
ā”œā”€ā”€ module2.py
ā”œā”€ā”€ subpackage/
│   ā”œā”€ā”€ __init__.py
│   └── submod.py
└── utils/
    ā”œā”€ā”€ __init__.py
    └── helpers.py

init.py

# __init__.py
from .module1 import Class1
from .module2 import function1

__all__ = ['Class1', 'function1']
__version__ = '1.0.0'

Module Patterns

# Singleton module
class _Singleton:
    _instance = None
    
    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance

singleton = _Singleton()

# Module-level constants
MAX_RETRIES = 3
DEFAULT_TIMEOUT = 30
API_VERSION = "v1"

# Module functions
def get_config():
    return {
        "max_retries": MAX_RETRIES,
        "timeout": DEFAULT_TIMEOUT
    }

Practice

Create a well-structured Python package with proper imports.

Advertisement

Need Expert Python Help?

Get personalized tutoring, project support, or professional consulting.

Advertisement