tldr; official python docs
Unlocking the door to knowledge requires the right keys: curiosity, persistence, and a sprinkle of passion. Learning isn't a task, it's an adventure waiting to be embraced.
Python being one of the most used language in programming is surprisingly one of the easiest to learn as well.
Before we start, we need to set you up with your Python interpreter as well as the IDE you will be using.
Go to https://www.python.org/downloads/ and find the version that fits you (or is required for your project/company). If you are looking for the latest version then the Download Python 3.12.0 is all you need to get started.
After downloading the setup you need to install it on your PC.
I recommend checking the checkbox that asks you to add python to PATH variable.
Python is already installed in Linux but usually it's the Python2 instead of the new Python3
Although, you can use the terminal to install the latest version as well. on Ubuntu it is.
sudo apt-get update
sudo apt-get install python3.12
In general, the Mac OS x systems have already installed a version of python, which can be used.
Use this official website to download python.
If you want another, you can use brew.
brew install pyenv
pyenv install 3.12.0
NOTE: Most of the time you don't really need to use the terminal to install python and you can get away with it using the python.org website itself.
IDK Just use whatever you like...
Personally, I use VSCode. Don't ask why. I just use it.
If you really are serious about Python then maybe it's better to choose a good IDE from the start and use that and learn its shortcuts since shortcuts help you speed up your productivity a lot than what you think it does.
Following are some of the IDEs out there.
- Visual Studio Code
Nothing is as good as the documentation of python itself. It is slow paced and teaches everything there is in python properly.
Maybe you are not into just plain text reading and you want some practice while you learn. For that you can use the following link. It has a playground feature where you can practice with an online interpreter as well.
Liquid error: internal
One of the best paid python Specialization out there.
Python is all about its library so learning how to use in-built libraries is a plus. I will recommend you to learn libraries like asyncio, math, datetime, time, hashlib, itertools, functools and unittest can greatly help you with your Competitive Programming or open source career.
Refer to the following link for official documentation on in-built libraries.
Learn how to install external libraries using pip from here.
Something quite important when it comes to programming is learning how about Data Structures and Algorithm. Although, I won’t recommend python for CP.
Without practice you won’t be able to remember what you learnt. You can look into GitHub for open-source projects to contribute into to improve your documentation and unit testing skills or you can look into the following websites to practice via problem questions.
Codewars: Good for both beginners as well as professionals. The website is filled with many questions and you can practice and get better in python using the website.
CodeBat: Code practice website. Quite basic but gets the job done.
I personally don’t recommend leetcode or hackerrank until you have completed DSA.
After all this, the journey in python isn’t still completed. There is a lot to learn even now. Mainly domain specific libraries.
I am a python developer with over 4 years of experience. You can find me here