๐Ÿ OH MY PYTHON!

A [curated] list of resources to learn Python, from absolute beginners to advanced applications, just using free, online material. Also, a selection of full courses.

Enjoy, use, share! ๐ŸคŸ

How to use this material...

Oh My Python! is a curated list of online, free open material to learn Python. It is structured in a sequential way, top to bottom: "Super Basic Introduction" goes first, "Installation and Setup" second, and so on. Most of the links will take you to YouTube, home of so many amazing creators in the Python learning space.

Within each section, the order is not so strict. You can have a look, open two or three videos, and decide what makes sense to you at each stage of your learning journey.

Of course, you are more than welcome to check any material at any time. Jump to some advanced topic, or get back to the fundamentals. There are no rules! Actually, that is part of the journey: becoming confident in learning from online material implies mastering the art of navigating poorly structured material.

And most important: Enjoy, use, share! ๐ŸคŸ

๐Ÿ‘ถ Super Basic Introduction Get the basics first

Start here if you just want to learn the basics, like what is Python, how it works and some historical context


๐Ÿ“บ What is coding?

๐Ÿ“บ What is Python?

๐Ÿ’พ Installation and Setup No code yet, but almost there!

How to install Python or use Collab, and set up everything to start coding

๐Ÿ‘ฉโ€๐Ÿ’ป Google Colab

๐Ÿ“บ What is an IDE?

๐Ÿ‘‹ First hands-on Python Hello World! and more

Real learning starts when you put your hands on the keyboard. That's why is called "hands-on" :-) Start coding and experience with real [small] programs and get used to the basics of Python. Topics covered here include: STRINGS, INPUT and basic types and operators.


๐Ÿ“บ Lists, Tuples, and Sets -just a preview! More below ๐Ÿ‘‡

๐Ÿ“บ Python Input

๐Ÿ—ƒ๏ธ Lists OMG this is so important!

Learn what is a LIST and how to start working with it. Lists allow you to store information in a robust and flexible structure. Lists are incredible powerful and it's fundamental to feel super comfortable working with them. Enjoy the ride!


๐Ÿ“บ Lists in Python + ๐Ÿ‘ฉโ€๐Ÿ’ป Code @ GitHub

๐Ÿง  IF Statements The cornerstone of flow control.

Programming involves examining conditions and deciding which action to take. The IF family of statements gives you the ability to examine the state of the program and respond with the appropriate action.


๐Ÿ“บ IF statements


๐Ÿ“‘ Dictionaries

Dictionaries allow you to connect pieces of related and structured information under a key, just like a dictionary! But that is not all. You can nest and combine dictionaries and other structures and build complex and powerful data structures.


๐ŸŒ What is a Dictionary? on RealPython, W3Schools, Programiz and Geekforgeeks.

๐Ÿคธ๐Ÿปโ€โ™€๏ธ WHILE and FOR loops

A WHILE Loop is used to repeat a specific block of code an unknown number of times, until a condition is met. In combination with IF statements you can have total control of the logical flow of your program. A FOR Loop is used to perform a definite iteration, and is used in combination with iterable objects like lists.


๐Ÿ“บ Python FOR loops

๐Ÿงฎ Numerical and Mathematical Modules

A *BIG* part of the coding experience is very closely related to math and quantitative tactics. The Python standard library has a very powerful set of functions and data types to work with numerical data and functions.


๐Ÿ“บ The random Module. One video and another one.

๐Ÿ’ Functions

Finally! Functions are an essential part of Python. A function is a block of organized, reusable code that is used to perform a single, related action. Functions provide better modularity for your application and a high degree of code reusing bla bla bla... I know. This sounds a little abstract! Don't worry and get hands-on!