🌍 Python · subject
Python Python Programming Syllabus
Every chapter and topic of Python Programming examined in Python — 12 chapters, 37 topics and 91 sub-topics, plus 63 flashcards written against it.
Python Programming syllabus — full chapter and topic list
Expand any chapter to see its topics and sub-topics. This is the whole examinable outline for Python Programming in Python, not a summary of it.
-
Introduction to Python
3 topics- History of Python
- Guido van Rossum
- Python 2 vs Python 3
- Installation
- Downloading Python
- Setting up the Environment
- Using IDEs and Text Editors
- Basic Syntax
- Hello World Program
- Indentation
- Comments
- History of Python
-
Data Types and Variables
3 topics- Primitive Data Types
- Integers
- Floats
- Strings
- Booleans
- Complex Data Types
- Lists
- Tuples
- Dictionaries
- Sets
- Variable Assignment
- Dynamic Typing
- Multiple Assignment
- Variable Scope
- Primitive Data Types
-
Control Flow
2 topics- Conditional Statements
- if Statements
- else Statements
- elif Statements
- Nested Conditions
- Loops
- for Loops
- while Loops
- Nested Loops
- Loop Control Statements
- Conditional Statements
-
Functions
2 topics- Defining Functions
- Function Syntax
- Parameters and Arguments
- Return Values
- Advanced Function Concepts
- Lambda Functions
- Recursive Functions
- Decorators
- Defining Functions
-
Modules and Packages
3 topics- Standard Library
- Importing Modules
- Commonly Used Modules
- Creating Modules
- Writing a Module
- Importing from a Module
- Packages
- Creating a Package
- Using __init__.py
- Standard Library
-
File Handling
3 topics- Reading Files
- Open Function
- Read Methods
- Writing Files
- Write Methods
- Append Methods
- Working with File Paths
- os Module
- Pathlib Module
- Reading Files
-
Error and Exception Handling
3 topics- Understanding Exceptions
- Common Exceptions
- Exception Hierarchy
- Handling Exceptions
- try and except
- else and finally
- Raising Exceptions
- Using raise
- Custom Exceptions
- Understanding Exceptions
-
Object-Oriented Programming
5 topics- Classes and Objects
- Defining Classes
- Creating Objects
- Class Attributes and Methods
- Instance Attributes
- Class Attributes
- Methods
- Inheritance
- Base and Derived Classes
- Method Overriding
- Polymorphism
- Polymorphic Methods
- Operator Overloading
- Encapsulation
- Private and Protected Members
- Getters and Setters
- Classes and Objects
-
Advanced sub-topics
4 topics- Iterators and Generators
- Understanding Iterators
- Creating Generators
- Decorators
- Function Decorators
- Class Decorators
- Context Managers
- Using with Statement
- Creating Custom Context Managers
- Multithreading and Multiprocessing
- Threading Module
- Multiprocessing Module
- Iterators and Generators
-
Web Development
2 topics- Flask
- Setting up Flask
- Routing
- Templates
- Django
- Setting up Django
- Models
- Views
- Templates
- Flask
-
Data Science
4 topics- NumPy
- Arrays
- Operations on Arrays
- Pandas
- DataFrames
- Data Manipulation
- Matplotlib
- Plotting
- Customization
- Scikit-Learn
- Machine Learning Models
- Model Evaluation
- NumPy
-
Testing
3 topics- Unit Testing
- unittest Module
- Writing Test Cases
- PyTest
- Setting up PyTest
- Writing Tests with PyTest
- Mocking
- Using unittest.mock
- Mocking Objects and Methods
- Unit Testing
Python Programming flashcards for Python
25 of 63 cards from the Python Programming deck — real questions with worked answers.
Who created the Python programming language, and in what year was it first released?
Guido van Rossum created Python; it was first released in 1991.
What was Python named after, and what design philosophy does it emphasize?
Python is named after the British comedy group Monty Python (not the snake). It emphasizes code readability and simplicity, using significant indentation.
What is 'The Zen of Python' and how can you display it?
It is a collection of 19 guiding aphorisms for writing Python code (e.g., 'Readability counts', 'There should be one obvious way to do it'). You display it by running import this.
What major version succeeded Python 2, and when did Python 2 reach end-of-life?
Python 3 (first released in 2008) succeeded Python 2. Python 2 reached end-of-life on January 1, 2020.
Is Python a compiled or interpreted language, and is it statically or dynamically typed?
Python is an interpreted, dynamically typed language. Code is compiled to bytecode and run by the Python interpreter (CPython); variable types are determined at runtime.
What command-line command checks the installed Python version?
python --version or python -V (often python3 --version on macOS/Linux).
What is pip, and what command installs a package called 'requests'?
pip is Python's package installer (Package Installer for Python). Install with: pip install requests.
What is a Python virtual environment, and how do you create one using the built-in module?
A virtual environment is an isolated directory with its own Python and packages, preventing dependency conflicts. Create one with: python -m venv myenv.
What is the standard file extension for a Python source file?
The .py extension.
How does Python define code blocks, and what is the conventional indentation amount?
Python uses indentation (whitespace) to define code blocks rather than braces. The convention (PEP 8) is 4 spaces per indentation level.
How do you write a single-line comment in Python, and how are multi-line strings often used as comments?
A single-line comment starts with #. Triple-quoted strings (''' ''' or """ """) are used for docstrings and sometimes as multi-line comment blocks.
What is PEP 8?
PEP 8 is the official style guide for Python code, defining conventions for naming, indentation, line length, whitespace, and overall readability.
List the four primitive (basic) data types in Python.
int (integers), float (floating-point numbers), str (strings), and bool (booleans True/False).
In Python, what is the result and type of $7 / 2$ versus $7 // 2$?
$7 / 2 = 3.5$ (true division, returns a float). $7 // 2 = 3$ (floor division, returns an int).
What operators give the remainder and exponentiation in Python, and what is $2 ** 5$?
% gives the remainder (modulo) and ** gives exponentiation. $2 ** 5 = 32$.
What are the two boolean values in Python, and which integers do they equal?
True and False (capitalized). True equals 1 and False equals 0 when used numerically.
What does the bool() of an empty container, 0, and None evaluate to? Name Python's 'falsy' values.
They evaluate to False. Falsy values include: False, 0, 0.0, '' (empty string), [] (empty list), {} (empty dict), () (empty tuple), set(), and None. All other values are truthy.
Name the four main complex (collection) data types in Python and their bracket syntax.
list [ ], tuple ( ), dict { key: value }, and set { } (created with set() or {1,2,3}).
What is the key difference between a list and a tuple in Python?
A list is mutable (can be changed after creation) and uses [ ]. A tuple is immutable (cannot be changed) and uses ( ).
What characterizes a Python dictionary, and how do you access a value?
A dictionary is an unordered (insertion-ordered since 3.7) collection of key-value pairs with unique keys. Access a value with my_dict[key] or my_dict.get(key).
What are the defining properties of a Python set?
A set is an unordered collection of unique (no duplicates) hashable elements. It supports mathematical operations like union (|), intersection (&), and difference (-).
Are Python strings mutable or immutable, and what does indexing 'Python'[0] return?
Strings are immutable. 'Python'[0] returns 'P' (indexing starts at 0).
What is slicing, and what does the slice s[1:4] return for s = 'Python'?
Slicing extracts a substring/subsequence using s[start:stop:step], where stop is exclusive. s[1:4] returns 'yth'.
How does variable assignment work in Python — are variables typed?
Variables are created by assignment (e.g., x = 5) and are untyped references (names) bound to objects. The same variable can be reassigned to a value of any type at any time.
How do you assign multiple variables at once and swap two values in Python?
Multiple assignment: a, b, c = 1, 2, 3. Swap: a, b = b, a.
Planning Python Programming for Python
Python Programming is about 15% of the Python syllabus by topic count — 37 of 242 topics, spread over 12 chapters. At roughly 45 minutes per topic plus 12 minutes per sub-topic, a first pass runs to about 45 hours.
The heaviest chapters are Object-Oriented Programming (5 topics), Advanced sub-topics (4 topics), Data Science (4 topics) . Front-load those while your energy is high; the short chapters are better revision filler later.
Work top-down: read the chapter, then tick topics off individually rather than marking the whole chapter done. Sub-topics are where silent gaps hide.
Python Programming (Python) FAQ
What is in the Python Python Programming syllabus?
Python Programming is split into 12 chapters — Introduction to Python, Data Types and Variables, Control Flow, Functions, Modules and Packages and File Handling, and 6 more, containing 37 topics and 91 sub-topics in total.
How many chapters are there in Python Programming for Python?
12 chapters. Python Programming accounts for about 15% of the topics in the whole Python syllabus (37 of 242).
How long should I spend on Python Programming for Python?
Budget around 45 hours for a first pass through Python Programming — about 45 minutes per topic plus 12 minutes per sub-topic across its 37 topics. Add revision cycles on top.
Are there flashcards for Python Python Programming?
Yes — a 63-card Python Programming deck. Sample cards are printed on this page, and the full deck is free in the Examius app with spaced repetition scheduling.