Python Training , study and exam guide
1 Introduction to Python
1.1 What is Python?
1.2 History of Python
1.3 Features of Python
1.4 Python Applications
1.5 Setting up the Python Environment
1.6 Running Your First Python Program
2 Python Basics
2.1 Python Syntax and Indentation
2.2 Variables and Data Types
2.2 1 Numbers
2.2 2 Strings
2.2 3 Lists
2.2 4 Tuples
2.2 5 Sets
2.2 6 Dictionaries
2.3 Operators
2.3 1 Arithmetic Operators
2.3 2 Comparison Operators
2.3 3 Logical Operators
2.3 4 Assignment Operators
2.3 5 Membership Operators
2.3 6 Identity Operators
2.4 Input and Output
2.4 1 Input Function
2.4 2 Output Function
2.5 Comments
2.5 1 Single-line Comments
2.5 2 Multi-line Comments
3 Control Flow
3.1 Conditional Statements
3.1 1 If Statement
3.1 2 If-Else Statement
3.1 3 Elif Statement
3.1 4 Nested If Statements
3.2 Loops
3.2 1 For Loop
3.2 2 While Loop
3.2 3 Nested Loops
3.3 Loop Control Statements
3.3 1 Break Statement
3.3 2 Continue Statement
3.3 3 Pass Statement
4 Functions
4.1 Defining Functions
4.2 Function Arguments
4.2 1 Positional Arguments
4.2 2 Keyword Arguments
4.2 3 Default Arguments
4.2 4 Variable-length Arguments
4.3 Return Statement
4.4 Lambda Functions
4.5 Scope of Variables
4.5 1 Local Variables
4.5 2 Global Variables
4.6 Recursion
5 Data Structures
5.1 Lists
5.1 1 List Operations
5.1 2 List Methods
5.1 3 List Comprehensions
5.2 Tuples
5.2 1 Tuple Operations
5.2 2 Tuple Methods
5.3 Sets
5.3 1 Set Operations
5.3 2 Set Methods
5.4 Dictionaries
5.4 1 Dictionary Operations
5.4 2 Dictionary Methods
5.5 Advanced Data Structures
5.5 1 Stacks
5.5 2 Queues
5.5 3 Linked Lists
6 Modules and Packages
6.1 Importing Modules
6.2 Creating Modules
6.3 Standard Library Modules
6.3 1 Math Module
6.3 2 Random Module
6.3 3 DateTime Module
6.4 Creating Packages
6.5 Installing External Packages
7 File Handling
7.1 Opening and Closing Files
7.2 Reading from Files
7.2 1 read()
7.2 2 readline()
7.2 3 readlines()
7.3 Writing to Files
7.3 1 write()
7.3 2 writelines()
7.4 File Modes
7.5 Working with CSV Files
7.6 Working with JSON Files
8 Exception Handling
8.1 Try and Except Blocks
8.2 Handling Multiple Exceptions
8.3 Finally Block
8.4 Raising Exceptions
8.5 Custom Exceptions
9 Object-Oriented Programming (OOP)
9.1 Classes and Objects
9.2 Attributes and Methods
9.3 Constructors and Destructors
9.4 Inheritance
9.4 1 Single Inheritance
9.4 2 Multiple Inheritance
9.4 3 Multilevel Inheritance
9.5 Polymorphism
9.6 Encapsulation
9.7 Abstraction
10 Working with Libraries
10.1 NumPy
10.1 1 Introduction to NumPy
10.1 2 Creating NumPy Arrays
10.1 3 Array Operations
10.2 Pandas
10.2 1 Introduction to Pandas
10.2 2 DataFrames and Series
10.2 3 Data Manipulation
10.3 Matplotlib
10.3 1 Introduction to Matplotlib
10.3 2 Plotting Graphs
10.3 3 Customizing Plots
10.4 Scikit-learn
10.4 1 Introduction to Scikit-learn
10.4 2 Machine Learning Basics
10.4 3 Model Training and Evaluation
11 Web Development with Python
11.1 Introduction to Web Development
11.2 Flask Framework
11.2 1 Setting Up Flask
11.2 2 Routing
11.2 3 Templates
11.2 4 Forms and Validation
11.3 Django Framework
11.3 1 Setting Up Django
11.3 2 Models and Databases
11.3 3 Views and Templates
11.3 4 Forms and Authentication
12 Final Exam Preparation
12.1 Review of Key Concepts
12.2 Practice Questions
12.3 Mock Exams
12.4 Exam Tips and Strategies
6 2 Creating Modules Explained

6 2 Creating Modules Explained

Key Concepts

Creating modules in Python involves several key concepts:

1. Defining a Module

A module in Python is a file containing Python definitions and statements. The file name is the module name with the suffix .py appended.

Example:

# my_module.py
def greet(name):
    return f"Hello, {name}!"

PI = 3.14159
    

Analogy: Think of a module as a toolbox containing various tools (functions and variables) that you can use in your projects.

2. Importing a Module

To use the functions and variables defined in a module, you need to import the module. This is done using the import statement.

Example:

import my_module

print(my_module.greet("Alice"))  # Output: Hello, Alice!
print(my_module.PI)  # Output: 3.14159
    

Analogy: Importing a module is like taking a specific toolbox from a storage room to your workbench.

3. Using Functions and Variables from a Module

Once a module is imported, you can access its functions and variables using the dot notation.

Example:

import my_module

greeting = my_module.greet("Bob")
print(greeting)  # Output: Hello, Bob!

radius = 5
area = my_module.PI * radius ** 2
print(area)  # Output: 78.53975
    

Analogy: Using functions and variables from a module is like selecting specific tools from the toolbox to perform a task.

4. Module Search Path

When you import a module, Python searches for the module in a list of directories. This list is stored in the sys.path variable.

Example:

import sys

print(sys.path)
    

Analogy: The module search path is like a map that guides Python to find the toolbox (module) in various storage rooms (directories).

5. Executing Modules as Scripts

You can execute a module as a script by running it directly. This is useful for testing and debugging. The __name__ variable helps determine if the module is being run as a script.

Example:

# my_module.py
def greet(name):
    return f"Hello, {name}!"

if __name__ == "__main__":
    print(greet("Alice"))
    

Analogy: Running a module as a script is like using the toolbox to perform a specific task directly, rather than just having it available for future use.

Putting It All Together

By understanding and using modules effectively, you can organize your code into reusable and manageable pieces. Modules are a fundamental aspect of Python programming that enhance code maintainability and reusability.

Example:

# my_module.py
def greet(name):
    return f"Hello, {name}!"

PI = 3.14159

if __name__ == "__main__":
    print(greet("Alice"))

# main.py
import my_module

print(my_module.greet("Bob"))  # Output: Hello, Bob!
print(my_module.PI)  # Output: 3.14159