Python and Algorithms, formerly named Python Fundamental, is a list of notes I wrote while learning Python, data structures, and algorithms from scratch since 2020. It started with a simple .py file to test the output of my code and gradually turned into a comprehensive tutorial on how to write Python, how Python works, and how to use Python in a variety of scenarios.
There's three major components in this repo, Intro, Intermediate, and Data Structures and Algorithms:
- Intro contains the fundamentals of Python, including operators, objects, functions, classes and all the stuff one might need to write basic, runable Python.
- Intermediate contains knowledges that can help sigificantly but are not required to write Python codes.
- Data Structures and Algorithms contains implementations of differnt useful data structures and algorithms in Python with examples.
Note that the classification of difficulty levels does not meant to be exact and is targeted to people who already have some sort of coding experiences. Will be working on adding additional levels and sort the contents more carefully.
If you are new to coding, I'd recommand starting with Numbers.py, String.py, the first part of List_Tuple_Set.py and Slicing.py in Intro. Try creating a new .py file on your own, write some basic codes (even if just copying and pasting), and run it to see the results. Also, try YouTube! It's the best starting place to learn almost anything legal.
If you are familiar with another language and new to Python, I'd also recommand going through some basic stuffs in Intro first to get a sense of the grammer. Try understanding what each line of code is about and predict its output before running it. It will be a good refresher for coding basics. You'll be surprised how easy it is to write Python and how much you've forgoten from CS 101.
If you are fluent at Python, try some of the harder topics in Intro and see if you've known them before. If so, move to Intermediate and I guarantee most people would find topics that they've never heard of before. Try them and think about where they could be used to improve your Python coding.
If you are a Python master, ask yourself: are you truely? And if the answer is a resounding YES, please let me know if there's any additional topics that I should be be covering here.
[updated Jul 2024]