git clone https URL
git add <filename>
git commit -m "commit message"
git push origin <sourceBRanch>
class01 -> main
git push origin class01
git diff <filename>
To check the branch is clean,
git status
To checkout to the main branch
git checkout main
To get the latest changes
git pull origin main
To create new branch
git checkout -b <NEW BRANCH NAME>
00. Dev Setup
Installing IDE/Editor
Installing Python and local setup
Github access, creating project
01.Introduction
Introduction to python
shebang line & usage
Dynamic Typing
Basic data types supports
Indentation issue
built-in functions
Comment Operator
keywords and Identifiers
strictly-typed and data type conversions
python interactive mode
Line continuation operator
02.Basics
Arithmetic operations
+, -, , /, //, %, *
divmod() function
compound operations
jupyter notebook
Practical Problem solving
working with complex numbers
abs() function
Operator precedence in Arithmetic operations
02.Basics
String operations
Usage of single, double and triple quotes
len() function
Indexing
Slicing Strings
string attributes
String formatting: old & new styles, f-strings
bytearray() and byte() strings
unicode strings
Usage of help
Usage of pydoc
03.Language Components
Relational Operations
Logical Operations
Boolean Operations
Bitwise Operations
Identity Operations
range() function
Conditional Operations
Structural Pattern Matching
Loops: for & while,
Solving Game problems
Loops: break, continue, pass, sys.exit
Walrus Operator
04.Exception Handling
Exceptions Hierarchy
Different types of errors, error vs exception and exception groups
Handling single and multiple exceptions
raising exceptions
asserts
Exception Groups
Exception hooks
traceback
warnings
05.Debugging
Importance of logical errors
Debugging with pydevd
Debugging with pdb, ipdb, pudb
breakpoint() function
PYTHONBREAKPOINT environment variable usage
06.Collections
Lists
Lists
Tuples
namedtuples
Sets
Dictionaries
zip() function
workaround for switch case
Comprehensions
Comprehensions
Working with Iterables - sum(), max(), min()
07.Functions
Functions with & without arguments, keyword arguments
Functions with Different return types and unpacking
Functions with with Default arguments
Memory Leakage problem with default mutable args
variadic functions : variable arguments and variable keyword arguments
Functions with keyword only arguments
Scoping: Global vs Local
call by reference
call by value
Partial Functions
Anonymous(Lambda) Functions
Higher order functions: map(), filter(), functool.reduce()
Recursions and recursions limit
[Part 2](https://us06web.zoom.us/rec/share/deTXbiWZJiMw4fdFxnOnagUBTIiBc-Ir9UPvMYmPzzHaMrxCbCI_KPgMkIi9PW4X.7RFXA6CRYqWMByx8)
inner functions
closures
08.Decorator Design Pattern
Necessity
function Decorator
Practical Examples
syntactic sugar for decorators
multiple decorators on same function
decorators with arguments
functools - wrap, lru_cache
class decorator
09.Iterables, Iterators, Generators and co-routines
Iterables
different ways of extracting values from iterables
Iterators
iter() protocol
itertools module
Generators
yield vs return
function vs Generator
Generator pipelining
Generator Expression
Coroutine
Generator vs Coroutine
coroutine pipelining
10.Modules
Basic Modules
- math, sys, argparse,
os, subprocess,
shutil, pathlib,getpass
time related
- time, timeit, cprofiler
datetime, pytz, calendar
pendulum
others
- random, collections, atexit, base64
create user-defined module
creating user-defined package
11.Logging
Simple logging
configuring log file
formatting logs and adding timestamp
working with file handler and stream hanlder
configuring multiple handlers
color logging
Rotating logger
class 26 Oct 22nd structlog Loguru sentry integration
12.File Operations
flat files
content manager with file operations
Non-flat files
Serialization
pickle
shelve
messagepack
Semi-Structured Data
xml
html
csv/ dat
xls/xlsx
json
yaml
parquet
avro
zipping files: .zip, .tar
13. OOP
Importance of OOP
Instantiation and managing attributes
constructor and Importance of self
instance and class variables
Encapsulation
MRO, Single and multiple inheritance, composition
Method Overwriting, Operator Overloading
instance, class and static methods
property decorator
Dunder(magic) methods
reprlib module
creating context manager class
Dataclasses
Abstract Classes & methods
Enum
Datastructures - stack, Queue, LinkedList
Design patterns - Singleton
14. Regular Expressions
re module
compiling regex objects
match & search
find & finditer
regex Flags
Greedy & Non-Greedy patterns
findall & finditer
sub and subn
regex Flags
groups and groupdicts
Pearl-style regexes
Realworld Problem (log analyses, email Validation, etc)
Look Assertions
15. Code Quality
static code analyzers
pylint
black
mypy
typing
Code Analyzers
cProfiler
memory_profiler
objgraph
disassembler
inspect
lib2to3
weakref
Doctest
assertions
unittest
coverage
pytest
fixtures
17. Web Services
FTP
simplehttpserver
RPC
xmlrpc
jsonrpc
SOAP API
consuming REST API
scraping web pages
urllib, requests
16. Databases
db files - sqlite3
Relational DB - MySQL
Non-Relational DB - mongoDB
18. Data Science
statistics
Numpy
Pandas
Matplotlib