Core Lessons Index
Chapter : Core Lessons Index
Index to Core Lessons
Where was that topic that I previously saw buried somewhere in the core lessons?
Here are some easy access links to find the material you are looking for.
Use your browser’s search function to find a certain keyword/topic.
Basic concepts and elements
- Variables [2:6]
- Keywords [2:7.1]
- Expressions [2:5] [2:6.5]
- Statements [1:3.2] [2:6.5]
- Selection [1:3.2] [1:3.3]
- Repetition [1:4.1]
- Composition [3:8.1]
- Abstraction [3:8.3]
Built in data types and objects
- Basic data types:
int
,float
,complex
,bool
,str
[2:4.2] list
[6:2]tuple
[6:7]set
[8:2]dict
[7:4]None
[3:6.3]type()
[2:4.2]- Iterables:
Operators
- Assignment operator (
=
) [2:6.1] - Artihmetic operators [2:5.1]
- Comparison operators [3:2.1]
- Logical operators (
and
,or
,not
) [4:2.1] - Shortcut (augmented) assignment operator [5:2]
- Membership operator (
in
) [6:3.5] - Identity operator (
is
) [7:2.4] - Operator precedence [2:5.3]
Statements
- Statements [1:3.2] [2:6.5]
- Assignment statement [2:6.1] [2:6.3]
- Augmented assignment statement, shortcut assignment statement [5:2]
pass
[3:9.3]break
[4:5.2]continue
[6:4.3]assert
[5:10.3]
Selection (choice)
Repetition (loops)
Functions
- Function calls [3:6]
- Built-in functions [3:7.1]
import
functions from modules/packages [3:7.2]- Defining functions [5:3]
- Positional arguments, default arguments, keyword arguments [5:5]
- Function scope, stack trace [5:6]
- Recursion [7:6]
- Advanced function features:
Strings
Sequences
list
[6:2]tuple
[6:7]str
as a sequence [6:8]range
[6:4.5]- List comprehension [9:5]
- Generator expressions [9:5.6]
Sets
set
[8:2]set
operations [8:2.3]set
methods [8:2.4]- Frozen set
frozenset
[8:2.5] - Set comprehension [9:5.4]
Dictionaries
dict
[7:4.1]- Retrieving from
dict
[7:4.2] dict
methods [7:4.4] [7:4.5]- Dictionary comprehension [9:5.4]
- Hashing [7:5.5]
Object-Oriented Programming
- Objects
- Class [8:3.2] [8:3.4]
- Class diagram [8:3.3]
- Class constructor [8:3.5] [8:3.6]
- Class instance [8:3.2] [8:3.4]
- Instance attributes [8:3.3] [8:3.4]
- Instance methods [8:6.3]
- Dependency [9:2.3]
- Association, aggregation, composition [9:2.5] [9:2.6]
- Inheritance [10:2]
- Implementing inheritance [10:2.3]
- Method overriding [10:2.5]
- Magic methods/dunder methods [8:8]
File handling
- Files [8:9]
- Opening and reading text files [6:5.6] [7:5.1] [8:9.2]
- Opening text files with context manager (
with
statement) [7:5.3] [8:9.4] - Opening and writing to text files [8:9.4]
- Binary files [8:9.3]
- JSON files [9:6]
- Pickle files [10:7.1]
- CSV files [10:7.3]
- File methods, file handling modules [8:9.6]
- Libraries for handling other files [10:7.9]
Exception handling
- Exception handling [7:7]
- Exception instances [9:9.1]
- Built-in exceptions [9:9.2]
- User-defined exceptions [10.9.2]
- Order of exceptions [10.9.1]
Modules and packages
Functional programming
Python modules
Command line arguments
- Reading command line arguments (
sys.argv
) [9:6.5]
Development Practice and Tips
- Flowcharts [1:4.1]
- Test as you code [3:9.1]
- Commenting [3:10.1]
- Avoiding infinite loops [4:3.6]
- Debugging [4:8]
- Debugging functions [5:10.1]
- Refactoring [5:4.1]
- Top down algorithm design [5:4.6]
- Input validation, code robustness [8:9.6]
Software testing
assert
statement [5:10.3]- Test Driven Development [6:9.1]
- Breakpoints [6:9.3]
- Python debugger (
pdb
) [6:9.3] - Input validation, Code robustness, Look Before You Leap (LBYL), Easier to Ask for Forgiveness than for Permission (EAFP) [8:9.6]
- Unit testing [10:8]
Style guides
- PEP-8 style guide [4:9]
- PEP-8 for comments [3:10.4]
- PEP-8 for functions [5:7]
- Docstrings [5:7.3]
- PEP-8 for sequences [6:10]
Exercises and applied problem solving
- Subscripts from/to linear indices: [2:10]
- Selection (Biggest number, leap year validator, thermostat program) [3:4]
- While loops (Square root estimator, Newton’s Method) [4:4]
- While loops with
break
: - Refactoring exercise [5:4]
- List (Increment integers in list) [6:3.3]
- For loops exercise (Pretty patterns) [6:4.6] [6:4.7]
- List and loops (The smallest number, smallest number divisible by 7, triangle list, cumulative sum, Fibonacci Sequence, Suffixes) [6:5]
- Strings (Palindromes, Replace string with blanks) [6:8]
- String methods
- List methods (Parenthesis checking) [7:3.6]
- Dictionaries (Employee Database, Translation Lookup Table) [7:5]
- Sets (Find overlapping words in Frozen) [8:2.6]
- Recursion (Factorials, Fibonacci sequence) [7:6]
- Exception Handling (list of fruts, opening a file) [7:7.5]
- File Manipulation
- Object-oriented Programming
- Input validation [8:10.5]
enumerate
(Get word positions) [9:4.2]zip
(Concatenate feature labels) [9:4.4]- List comprehension [9:5.2] [9:5.3]
- Set comprehension [9:5.5]
- Functional programming