Hello fellows, have you ever confused that whether you should learn python or not. Maybe you decided to learn python but didn’t know where to start?
So in this article we’ll guide you about the best way to learn Python.
Why to learn python?
There can be many reasons that can make you start to learn Python. Some of them are as follows:
- Easy syntax: Python syntax is very easy to learn than any other programming language out there. If you’re an experienced programmer and new to python you’ll amazed after seeing the easiness of writing code in python. Even if you’re new to programming you can start programming with Python right away.
- Readability: In most other programming languages, we use indentation only to help make the code look pretty, but in Python it is required. Whether you’re inside in a loop or declaring some functions you have shift your block of code with certain amount of spaces to indicate what block of code a statement belongs too, which increases readability of a code written in Python.
- High level language: Python looks more like a readable, human language than like a low-level language, which gives you ability to program at faster rate than a low-level language will allow you.
- Object oriented programming language: Python’s support for object-oriented programming in one of its greatest benefits to new programmers because they will be encountering the same concepts and terminology in their work but python also support structured programming fully. So you can code in any style you want.
- Free and cross-platform: Python is both free and open source. It runs on all major operating systems like Windows, Linux and Mac OS X.
- Large number of standard libraries: Python contains over than 300 standard library modules which contain modules and classes for a wide variety of programming tasks, which will help us to reduce the length of our code and provide easiness to write code.
- Python is everywhere: Yeah you read it right, Python is everywhere. It can be used in server automation. It have several great libraries for building web apps like flask, Django. It is heavily being used in scientific computing, it has several libraries dedicated to specific area in scientific computing like NumPy, SciPy, EarthPy and AstroPy. Python is also used in Game development using the library PyGame which support sound, mouse and keyboard interaction and more. The popular 3D application Maya supports Python. If you want to develop desktop application, then Python comes up with the tkinter module built-in. The companies like Instagram, Amazon, Spotify, Facebook and many other using Python language heavily
What is the Best Way to Learn Python?
Before starting, you’ve to decide that which version of Python you’re going to learn Python 2 or Python 3. To see which one is best to start with please open http://thecrazyprogrammer.com/2018/01/difference-python-2-3.html
But if you’re new to Python then we recommend you to start with Python 3 because it is the future of Python.
Get Everything Ready
Before starting with Python you’ve to make an environment where you can write and execute python scripts. To write scripts we can use any text editor like notepad, vim editor, sublime etc. and in order to run the programs, we can use command prompt or terminal but your system should have Python installed in it. If you’re using a Linux distribution like Ubuntu, Fedora, Kali or you are a mac user then you doesn’t have to install Python externally, because most of the Linux based operating systems comes with Python pre-installed in it.
But if you’re using a PC (windows based) then the process of installing Python 3 will be same as we install any other software. To download the Python 3 visit here https://www.python.org/downloads/windows/ and during installation, don’t forget to check the checkbox showing “add python to path”, so you’ll be able to access the Python in command prompt.
However we can also use an IDE where we can write and execute the programs at one place. To check which IDE you should use, please visit http://thecrazyprogrammer.com/2018/03/best-python-ides.html
Python Basics
First of all, we’ll talk about the basics of Python. In basics, the topics you’ve to cover are as follows:
Introduction to Python
- Python Syntax
- Strings and Console Output
- Conditionals and Control Flow
- Functions
- List & Dictionaries
- Loops
- Introduction to Python
- File input and output
Free Courses:
To learn these basics concepts you can take this free online course https://www.codecademy.com/learn/learn-python.
Or you can take this free course from Udacity https://in.udacity.com/course/introduction-to-python–ud1110
Or you can take this free course from Udemy https://www.udemy.com/pythonforbeginnersintro/
Even you doesn’t touch programming before, these courses will help you to teach you all the basics you need to know.
Best Books:
If you prefer reading more than watching videos then these books will help you to learn the basics of Python –
- Python Programming for absolute beginners: https://www.amazon.com/Python-Programming-Absolute-Beginner-3rd/dp/1435455002/
- Learning Python: https://www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730/
Free Youtube Videos:
Here are some of the best Youtube playlists that can help you learn Python easily-
- Python Tutorials for beginners (ProgrammingKnowledge): https://www.youtube.com/watch?v=41qgdwd3zAg&list=PLS1QulWo1RIaJECMeUT4LFwJ-ghgoSH6n
- Python programming Tutorials (thenewboston): https://www.youtube.com/watch?v=HBxCHonP6Ro&list=PL6gx4Cwl9DGAcbMi1sH6oAMk4JHw91mC_
After you learn the basics. Now you’ve to decide what you want to do next. Because Python doesn’t have a specific area. Things you can build with Python are as follows:
- Websites: If you’re interested in making websites, then try Django Web Framework, Pyramid, Flask and learn it.
- Games: If you’re interested in making games, then try You can make games with graphics and sounds.
- Desktop and Mobile application: Kivy, Tkinter, wxWidgets, pyqt, GTK+ or Pyside are used to make multi-touch application for desktop and mobile platforms.
- Web scraping: Beautifulsoup is used for gathering information from websites.
- Scientific and numeric computing: SciPy, Pandas, Ipython can be used for scientific computing and data analysis.
This is not enough, there are a lot of other things that one can do with Python. But for now we’ll see how to learn the above mentioned topics in Python. Lets see them one by one.
Learn Making Websites with Python
Paid Courses:
Here are the list of courses where you can learn Python Web Development.
1. Complete Python Web Course: It is a paid course offered by Udemy, where you’ll learn building Web application with Python and Flask. In this course you’ll also build 8 web application for better practice.
Link: https://www.udemy.com/the-complete-python-web-course-learn-by-building-8-apps/
2. The Ultimate Beginner’s Guide to Django: Learn how to make and publish websites with Django and Python. They will teach you to make three complete apps and publish one online. It is also a paid course by Udemy.
Link: https://www.udemy.com/the-ultimate-beginners-guide-to-django-python-web-dev-website/
Free Youtube Videos:
Here is the list of some of the best YouTube playlists that can help you to lean Python web development for free.
1. Django Tutorials for Beginners (By thenewboston): So far in this playlist, you will learn the very basics of Django in a very friendly voice of Bucky Roberts.
Link: https://www.youtube.com/watch?v=qgGIqRFvFFk&list=PL6gx4Cwl9DGBlmzzFcLgDhKTTfNLfX1IK
2. Django Tutorials (By Max Goodridge): https://www.youtube.com/watch?list=PLw02n0FEB3E3VSHjyYMcFadtQORvl1Ssj&v=Fc2O3_2kax8
After you’ve completed these courses you’ll get the basic idea how to make websites or web applications using Python. Then start a personal major project and complete it.
Learn Making Games with Python
If you want to develop games with Python you’re gonna end-up with PyGame. To learn how to make games with PyGame follow these courses.
1. Making games with Python & Pygame (By AI Sweigart)– its a 365 pages PDF that will help you to make mini games using PyGame. This pdf is completely free out there. You can download it from here https://inventwithpython.com/makinggames.pdf
But you can’t learn from a book as fast as you can learn with a teacher or from video tutorials. So here is the list of some of the YouTube playlists for games development using PyGame-
2. PyGame – Python Game development (By thenewboston): This video series will teach you all the basics of PyGame that you need.
Link: https://www.youtube.com/watch?v=ujOTNg17LjI&list=PLQVvvaa0QuDdLkP8MrOXLe_rKuf6r80KO
3. Master Python interactively with PyGame (By Udemy): If you have some money in your pocket to learn gaming in Python then it can be your best choice because after completing this course you’ll know all the basics of PyGame and how to use sounds and make your game interactive.
Link: https://www.udemy.com/master-python-interactively-with-pygame-ultimate-bootcamp/
Learn Making Mobile and Desktop Application with Python
As I mentioned above that we can make desktop or mobile application using Tkinter, GTK+, Qt, Kivy or wxWidgets. Here are some of the best courses that will help you to make GUI applicaion using Python.
Its highly recommend to take a paid course from udemy to learn GUI. However there are many free courses available out there but they aren’t teaching enough to make you an expert of GUI Development.
1. Learn Python GUI programming using Qt framework: This 12 hours course will teach you how to write your own complex desktop application. This course is about Python GUI programming and building GUI applications using Python and Qt framework.
Link: https://www.udemy.com/python-gui-programming/
2. Python GUI : From A-to-Z With 2 Final Projects: Learn How To Build A Powerfull GUI in Python programming Using Python And Tkinter.
Link: https://www.udemy.com/python-with-tkinter-basics-advanced-build-2-projects-l/
3. Python Kivy The Full Guide: Learn How To Build A Powerful Android Applications and Games using Python And Kivy. It is also a paid course like above two.
Link: https://www.udemy.com/learn-kivy-from-scratch
So these were some of paid courses that will help you learn a lot. But if you don’t want to spend you single penny then here is some of the best books and YouTube playlists that can help you to learn GUI development using Python.
4. Python GUI with Tkinter (thenewboston): This playlist will help you learn the very basics of Tkinter like how to draw basic widgets like buttons, labels, dropdown menus, frames, checkbox, and many more.
Link: https://www.youtube.com/watch?v=RJB1Ek2Ko_Y&list=PL6gx4Cwl9DGBwibXFtPtflztSNPGuIB_d
5. Kivy application development (sentdex): As we know now that Kivy is used to make android application using Python. This YouTube play will help you to learn the basics of android application using Kivy.
Link: https://www.youtube.com/watch?v=CYNWK2GpwgA&list=PLQVvvaa0QuDe_l6XiJ40yGTEqIKugAdTy
6. PyQT Python GUI application development (sentdex): This playlist will help you to make desktop application using PyQT.
Link: https://www.youtube.com/watch?v=JBME1ZyHiP8&list=PLQVvvaa0QuDdVpDFNq4FwY9APZPGSUyR4
If you prefer reading more than watching then here is the list of books that can help you.
7. Python – GUI Programming (Tkinter): This website (Tutorialspoint) will help you to understand each concept of Tkinter module. Whether you’re new or experienced with Tkinter, it can help you a lot and this is free of cost too. You can download the full course of Tkinter as PDF to learn offline.
Link: http://www.tutorialspoint.com/python/python_gui_programming.htm
Here are some of other resources that can help you.
8. PyQT Tutorial – https://www.tutorialspoint.com/pyqt/index.htm
9. wxPython Tutorial – https://www.tutorialspoint.com/wxpython/index.htm
Learn Web Scraping with Python
After searching a lot I found out the best course which can help you to lean web scraping is Web Scraping with Python: BeautifulSoup, Requests & Selenium by Udemy. None of the youtube playlist can help you this much as this course will do. But this is a paid course and you have to spend some extra money then any other course mentioned above.
Link: https://www.udemy.com/web-scraping-with-python-beautifulsoup/
But again if you’re not willing to spend money then remember you have to practice a lot because without money you’re not gonna learn a lot from youtube playlists.
Here are some of the video links :
- Intro to web scrapping with Python and Beautiful Soup: https://youtu.be/XQgXKtPSzUI
- Python Tutorial: Web Scraping with BeautifulSoup and Requests – https://youtu.be/ng2o98k983
But still we recommend you to take Udemy paid course.
Learn Scientific Computing with Python
The best way to learn scientific computing (NumPy, Pandas, Seaborn , Matplotlib , Plotly , Scikit-Learn , Machine Learning, Tensorflow , and more) in Python we recommend you to start with any video tutorials to get the basic idea how things work and then learn each single module from a standard book. Because in Videos all the methods or properties of a module can’t be covered. That’s why we recommend you to learn with a Book.
Take this course from udemy first-
1. Python for Data Science and Machine Learning Bootcamp: It have 21 hours of lectures and easily explained.
Link: https://www.udemy.com/python-for-data-science-and-machine-learning-bootcamp/
Then purchase this book from amazon or from your nearest book store.
2. Scientific Computing with Python 3: https://www.amazon.in/Scientific-Computing-Python-Claus-Fuhrer/dp/1786463512
Believe me once you have completed the course and mastered each concept mentioned in this book, you can name your self as a data scientist.
If you want to know tools for working with excel and python then refer python for excel tutorial.
I hope this article will help you to find best resource and best way to learn python. If you have any problem or suggestions related with this article then please comment below.