Modern Python 101 - Thinking With Types¶
This is your guide to get started with Python Programming Language. This is a simple to understand and free guide to learn Python, we don't expect you to have any programming knowledge and teach everything from scratch.
Did you check instagram today or watched YouTube? Well, you just used Python based applications! All fortune 500 companies use Python in some form or another, so fear not, learning Python is always a good decision!
Python is the perfect language to learn for beginners. With Python you can do almost anything, create your own web applications, create games, desktop applications, data science projects, AI, etc, the list is endless! Python is well suited for beginners because of its simplicity and you would be writing your own programs in no time!
Python is one of the easiest language to learn, while this may be true, but it often takes a lot of time and practice to really master it. People often confuse learning language syntax
with learning programming
, we make this difference very clear and guide you through the basic principles needed to learn Python in an efficient manner.
Remember, this course is just your start and there is no end to learning it!
Learning Journey¶
It may take you multiple times to go through any particular Topic/Video/Concept and there is no shame in it. Anyone who says they got the concept in the first try are either really smart or lying, rest of us need repetition and practice to learn anything new.
Also remember, as a beginner there is no such thing as silly questions, so be sure to ask whatever you think is a genuine question.
Topics Covered¶
Following is the list of topics covered, they are listed in no specific order and are to just give you an idea of topic we would be learning in this tutorial.
- Introduction -
- Why you should learn Python?
- What is Python?
- How Python Works?
- Hello World - Your First Python Program
- Installing Python
- Setting Up VS Code & Additional Dependencies
- Type System -
- Declaring Variables
- Variable Rules
- Data Types
- Control Flow -
- If / Else Statements With Python
- And / OR statements in Python
- For Loops In Python
- For and In Loops in Python
- While Loops in Python
- Data Structures -
- List
- Tuple
- Dictionary
- Set
- Functions -
- What is a Python Function?
- Python Functions | Take Something -> Give Something
- Data Transformation
- Side Effects
- Arguments
- Variable Local & Global Scope
- Unpacking in Python
- Variable & Keyword Arguments in Python | *args and **kwargs
- Deeper Dive in Functions - A Look at Higher Order Functions(HOF) & Lambda
- Object Oriented Programming (OOP) -
- Introduction to Classes
- Not Everything Needs To Be a Class
- Data & Behavior - Attributes, Fields/Members, Methods
- Create Your First Python Class
- What Do You Mean By Class Instances?
- Adding Methods or Behavior to Your Python Class
- Introduction to Magic Methods
- Inheritance & Polymorphism
- Deeper Dive in OOPs - Class methods, Static methods, Property, Getters & Setters
- Error Handling -
- Try - Catch - Else - Final blocks
- Runtime Errors, Syntax Errors, etc.
- Common Error types - TypeError, AssertionError, ZeroDivisionError, etc.
- Raising Exceptions
- Packages -
- Need for packages
- Modules vs Packages
- Local modules
- Package initialization
- Package modules
- Projects -
- Cash Register -> VOC-DTP Walk through
- Game - Save Zortan -> Thinking In Layers
- What To Learn Next -
- File & Folder Handling
- Iterators & Generators
- List Comprehensions
- Data serialization and de-serialization
- Decorators
- Abstract Base Classes
- OOP's
- Multi-Threading & Multi-Processing
- Concurrency & Asyncio
- Testing
- Web Frameworks - Django, Flask & Fastapi
- Machine Learning & Deep Learning
Final Words¶
Last But Most Important - Solve More Problems...!!!