A repository for Python course notes, examples, and lab exercises targeted to my students and interns.
You can clone
or fork
the repository and review the course contents, examples, and attend exercises.
- Chapter 1 - 10: Easy
- Chapter 11 - 20: Medium
-
- Introduction to Python
- Python Environment Setup, IDE Setup
- Hello World in Python
- Running Python Programs
- comments and documentation
- Single Line Comments
- inline Comments
- Multiline Comments
- Docstrings
- indentation
- Chapter 1 Quiz
-
Variables, basic data type and operations
- Variables, constants, and keywords
- Numeric Data Types
- Strings
- String Formatting
- Basic Operations
- Type Hinting in Python (only for python 3.6 and later)
- Type Conversion / Typecasting
- Chapter 2 Quiz
-
- Introduction to Functions
- Defining a function
- Calling a function
- the
return
statement - the
pass
statement - Local Variables and Global variables
- default arguments
- arguments and keyword arguments
- Recursive Functions
- Lambda functions
- Chapter 6 Quiz
- Introduction to Functions
-
- Introduction to Object-Oriented Programming
- Class
- Class attributes, methods, and the
self
parameter - the Constructor method
- built-in class attributes
- object
- Class methods and Static methods
- Operator Overloading -Encapsulation in python
- Inheritance and Polymorphism
- Parent Class
- Child Class
super()
function- Mixins
- Chapter 7 Quiz
- Introduction to Object-Oriented Programming
-
open()
functionclose()
methodwrite()
methodread()
methodwith
keyword
-
Exceptions and Exception Handling
- Introduction to Exceptions in Python
- Standard Errors
try
,except
keywordtry
except
else
finally
keywordraise
keyword- User Defined Exceptions
- Total
The repository has its folder structure as shown in example below:
python-notes
├── LICENSE
├── README.md
├── c01_basics
│ ├── Chapter 1 Basics.md
│ ├── README.md
│ ├── code
│ │ ├── c0101_hello_world.py
│ │ └── c0102_comments.py
│ └── quiz
│ ├── README.md
│ └── solution
│ ├── q0101.py
│ └── q0102.py
├── c02_...
├── c03_...
│
If you're directly cloning the repository, I suggest you to solve in the different branch than the
main
branch to avoid conflicts if the course content changes.If you're forking, I suggest you not to make any changes in the
main
branch in your repository too so that you can pull and rebase future changes to yourfork
.
for pulling the future changes you can add new remote
as upstream in your
local repository with the commands below:
# step 1: add the upstream remote as git@github.com:ghimiresdp/python-notes.git
# step 2: pull from the upstream
# step 3: push to the origin
git remote add upstream git@github.com:ghimiresdp/python-notes.git
git pull upstream main
git push origin main