This module aims to provide an introduction to programming in the Python scripting language. This course is ideal for the student who already has some knowledge of computer programming.
![](https://www.freecodecamp.org/news/content/images/2020/05/Python-language.png)
Learning Outcomes
Topics covered in this introductory course include:
- Running and compiling programs
- Statements required to create and process objects in Python
- Introduction to the built-in object types such as numbers, lists and dictionaries
- Organisation of Python code into modules
- Introduction to Python classes and exploration of Python Object-Oriented Programming (OOP) tool
- Exception handling
- Built-in tools
AN INTRODUCTION TO PYTHON
- Introductory Remarks about Python
- Strengths and Weaknesses
- A Brief History of Python
- Python Versions
- Installing Python
- Environment Variables
- Executing Python from the Command Line
- IDLE
- Editing Python Files
- Getting Help
- Dynamic Types
- Python Reserved Words
- Naming Conventions
BASIC PYTHON SYNTAX
- Introduction
- Basic Syntax
- Comments
- String Values
- String Operations
- The format Method
- String Slices
- String Operators
- Numeric Data Types
- Conversions
- Simple Input and Output
- The print Function
LANGUAGE COMPONENTS
- Introduction
- Control Flow and Syntax
- Indenting
- The if Statement
- Relational Operators
- Logical Operators
- True or False
- Bit Wise Operators
- The while Loop
- break and continue
- The for Loop
COLLECTIONS
- Introduction
- Lists
- Tuples
- Sets
- Dictionaries
- Sorting Dictionaries
- Copying Collections
- Summary
FUNCTIONS
- Introduction
- Defining Your Own Functions
- Parameters
- Function Documentation
- Keyword and Optional Parameters
- Passing Collections to a Function
- Variable Number of Arguments
- Scope
- Functions – “First Class Citizens”
- Passing Functions to a Function
- Mapping Functions in a Dictionary
- Lambda
- Closures
MODULES
- Modules
- Standard Modules – sys
- Standard Modules – math
- Standard Modules – time
- The dir Function
EXCEPTIONS
- Errors
- Run Time Errors
- The Exception Model
- Exception Hierarchy
- Handling Multiple Exceptions
- Raise
- Assert
- Writing Your Own Exception Classes
INPUT AND OUTPUT
- Introduction
- Data Streams
- Creating Your Own Data Streams
- Access Modes
- Writing Data to a File
- Reading Data From a File
- Additional File Methods
- Using Pipes as Data Streams
- Handling IO Exceptions
- Working with Directories
- Metadata
- The pickle Module
CLASSES IN PYTHON
- Classes in Python
- Principles of Object Orientation
- Creating Classes
- Instance Methods
- File Organization
- Special Methods
- Class Variables
- Inheritance
- Polymorphism
- Type Identification
- Custom Exception Classes
- Class Documentation – pydoc
REGULAR EXPRESSIONS
- Introduction
- Simple Character Matches
- Special Characters
- Character Classes
- Quantifiers
- The Dot Character
- Greedy Matches
- Grouping
- Matching at Beginning or End
- Match Objects
- Substituting
- Splitting a String
- Compiling Regular Expressions
- Flags