Syllabus:
( Show sub-themes
Hide sub-themes )
Introduction2
- Course intro.
- What's the use of Python?
- Python distributions.
- Install and setting up Python (on Windows, Mac, Linux).
- Write first Python script (using IDLE).
- Python IDEs and text editors.
- Write Python in VS Code
Installing Python Packages - the safe way2
- PIP - the Python Package Manager
- Python Virtual Environments with Pipenv
- pipenv - example: simple_plot with matplotlib
- pipenv with VS Code
Basic IO and string formatting2
- Basic IO.
- Formatted strings.
Logical Expressions and Conditional Statements4
- Boolean type.
- Logical operators.
- if:elif:else statements.
- Exercises
Loops in Python2
- while/do loops.
- for loops.
- break, continue.
Basic data structures - Sequence Types4
- Lists
- Tuples
- Range Objects
- Strings as sequence
More Data Types: Dictionaries and Sets2
- Dictionaries
- Operations with Dictionaries
- Sets
- Set Operations
Functions4
- What are Functions?
- Function Definition
- Function Call
- Function Parameters (positional, keywords)
- Arguments unpacking - the
**
operator
- Function Return Values
- Variables Scope
Exceptions: raising and handling2
- What are Exceptions
- Exceptions Handling
- Handling different Exception Types
- Raising Exceptions
Basic OOP concepts in Python4
- OOP - Main Concepts
- Classes and Objects in Python
- Attributes
- Class Constructor
- Magic (dunder) methods
- Encapsulation and Data Hiding
- Inspecting Classes and Objects.
Iterators. Generators2
Advanced OOP topics in Python2
- Inheritance
- Method overriding
- Operator overloading
- Duck typing
Functional programming in Python2
- decorators.
- lambda expressions.
- map/filter/reduce.
Reflection in Python2
- dir(), type() and id() functions
- hasattr(), getattr() and setattr()
- isinstance() and issubclass() functions
- the
inspect
built-in module
Organizing code: more on importing modules2
- Creating a custom Python modules
- Import module
- Module alias
- Import object from module
- Where
import
looks for a module?
- Python's built-in and third-party modules
- Packages in Python
- Import-related module attributes (__name__, __file__)
Notable Standard Library Modules1
- sys - interface with Python Interpreter
- command line arguments
- other useful standard library modules
Date and Time support1
- datetime.date
- datetime.time
- datetime.datetime
- datetime.timedelta
The Python process and OS services2
- Execute external commands with Python
Using the file-system2
- Directory Manipulations
- Files Manipulations
Various formats handling3
- Parse JSON
- Parse CSV
- Parse XML
Unicode in Python1
- Unicode Overview
- Python’s Unicode Support
Debugging Python applications2
- How to Debug A Python Code?
- Overview of VSCode Debugger
- Debug menu
- Setup/Launch configurations
- Basic debug Commands (Start/Stop; Continue/Pause; Step Over/Into/Out; )
- Set Breakpoints
- Watch Variables
Regular Expressions in Python3
- Regular Expressions Overview
- Regexes in Python - the
re
module
Practicalities: linting, testing, documentation.2
- Python Best Practises: PEP8 && PEP20
- Linters
- Documentation Conventions
- Unittest
- Intro to py.test
Data science basics4
- The data science process
- Frame the concepts: Big data, Machine Learning, No SQL, Graph Database, NLP, Data Visualization
- Pyhton in DataScience: numpy, pandas,
- Demo with Jupiter Notebook
Parallel programming: multithreading and multiprocessing1
- Shape the concepts: multithreading, multiprocessing
- Example using the built-in multiprocessing module
Async programming: asyncio1
- Asynchronous vs Synchronous vs Parallel Execution
- Basics of Python asyncio library
- An async consumer-producer example
Web Programming with Django2
- What is Django
- A demo example of ToDo List app with Django
Databases: SQLalchemy2
- What is an ORM?
- SQLAlchemy - the Python ORM
- Connect, Declare a Mapping,Create a Schema
- Demo example with SQLAlchemy and SQLite3
Package And Distribute Python Applications1
- Distributing your Python App/Libs:
- - the pip way: requirements.txt
- - the pipenv way: Pipfile && Pipfile.lock
- - Live example
- "Freeze" your app - creating a single-file executable of your Python App:
- - using pyInstaller to create Windows executable and Linux packages
- - Live example