How to learn Python on your own and for free

The sales team cursed us for this article! From you – a couple of hours a day, from us – a list of free materials for entering and pumping into Python.
Python is the main language in data science and one of the top three languages ​​in web development, along with PHP and JavaScript. In addition, it is widely used for network administration, automated testing, application creation, and even 3D animation.
So if you are deciding which language you want to jump into programming from scratch, then Python is your candidate! And in this tutorial, we will tell you how to master Python yourself and for free:
How to start learning Python
They are free and divided into basics, applications, and data science. Within each direction, the articles are sorted by increasing complexity: from simple to tricky.

How do you learn Python using our materials:
- Read articles.
- Watch the video.
- Repeat after the teacher or author.
- Google if something doesn’t work at all.
- Type the word “Python” into Telegram and join the best chats where experienced Pythonists can answer any of your questions – if they want.
Allocate 1-2 hours daily for classes so that knowledge does not have time to disappear (according to the forgetting curve ), and try to stay at this pace for three weeks – they say a habit is developed during this period.
Don’t be afraid of mistakes. There will be many of them – both in the learning process and when you become a real programmer. Treat mistakes as reasons to get depressed and learn something new. Your learning cycle should look something like this:
- Try.
- Error.
- Google, chat, or help a friend.
- Bug fix.
- GO TO item 1.
- ???
- SundayPROFIT!
Python: programming language basics for beginners
With the help of our Python Tutorial, you will learn the language at a basic level: installing an interpreter, language syntax, importing libraries, basic data types, and operations on them. This is enough to create complex and useful programs and become a novice developer.
Installation
You can program in Python on your computer by downloading and installing the distribution kit (we recommend the Anaconda package or the PyCharm development environment ) or in the browser using special services (for example, Google Colab ).
- How to run Python on Linux, Windows, and macOS
- How to use the Google Colab service
- PyCharm: how to install and use it
Basic Syntax
The path of a Pythonist begins with basic operators, the basic syntax of the language, and the installation of libraries. To learn Python from scratch, we recommend starting with these materials:
- Dollar exchange rate chart in Anaconda. Let’s install the Anaconda distribution, learn the syntax, and draw a dollar rate graph.
- Data Types in Python. Now that you’ve got to know the language, it’s time to learn what data types are and what they are in Python.
- Word Cloud in Python. Let’s draw a cloud of the most frequent words from the Wikipedia page directly in the browser using Google Colab.
- Installing the library in Python. The main methods are manual installation using easy installation and the most popular one using the PIP utility.
- Webinar ” Drawing a tree with Python. ” Let’s learn a little more commands and functions, deal with cycles and conditions, and import the library for drawing.
Lists
Lists are the most popular data type you’ll be working with most of your time, so it’s worth learning. Beginning Python developers should know the following:
- Lists in Python. We start, of course, with the basics and understand how lists work.
- Removing an element from a list in Python Let’s learn about four ways to remove an element from a list.
- The append() and extend() methods in Python. Let’s determine the differences between the two methods of adding elements to the list.
- Convert the list to a string. It is also useful to know how different data types can be converted into others – for example, lists into strings.
- 11 questions about lists. If, at the interview, they start chasing you on this type of data, you will not get lost.
Strings
Postmodernists said: the world as a text and the text as the world. This is especially true in programming – including in Python. Therefore, it is important to be able to work with strings.
- Formatted Strings with Examples. We analyze a convenient and visual way to display strings.
- Concatenation of strings. They must always be combined, so it’s time to find the most effective methods.
- Regular Expressions. They are useful when you need to parse and process strings.

Tools and chips
A good programmer is a curious programmer. Knowledge of chips and non-obvious nuances of the language is one of the signs of a good programmer, even a beginner.
- Generators in Python: what are they, and why are they needed? One of the characteristic features of Python is the creation of complex objects in literally 1-2 lines. This will help generators.
- 15 Short Python Programs. Short and clear programs allow you to understand the language better.
- Collections library. Tools that you will constantly use in development.
- Vim as an IDE for Python. If you want to become a hardcore developer, learn Vim instead. It looks cool, works fast, and has many cool features.
Advanced Features
Python is lenient towards beginners – because it allows you to solve some problems casually, sacrificing code cleanliness in exchange for development speed. But this does not mean that there is no correct and beautiful solution.
- Correct String Concatenation in Python. Yes, you can concatenate strings with a + sign, but there are better ways.
- Decorators: what to answer in an interview. A function that modifies (decorates) another function. Sounds promising!
- Random Numbers in Python. There are no accidents, especially in Python. Or…
- Refactoring code in Python. Most of the work of a programmer is not writing new code but reading and reworking (refactoring) the old one. Let’s do it right!
- Recursive Functions. Functions can call themselves. This is called “recursion.” We understand how it works and where it can be useful.
Object Oriented Programming
One day you will see your programs get bigger and more difficult to maintain. Then you’ll think about how to fix it. The answer is simple – use OOP.
- OOP in Python. Probably the most important topic of all. You will learn what objects and classes are and how to write concise code.
- Create a “Snake” on Pygame. Consolidate your knowledge and rewrite the game code according to OOP principles. We are sure that you will succeed.
To learn more about OOP, we also recommend reading our articles on the main concepts of this paradigm:
- Classes and Objects. The basic elements of all OOP, from which everything else is built.
- Features of working with objects. Nuances when working with objects.
- Encapsulation and access modifiers. Access to methods inside objects sometimes needs to be protected; this is done using encapsulation and access modifiers.
- Overloading Methods and Operators. A trick in object-oriented programming that allows you to define multiple methods with the same name.
- Polymorphism. Learn more about overloading at a conceptual level.
- Inheritance and some more polymorphism. We get rid of duplicate code and make projects even more concise.
- Abstract Classes and Interfaces. In the case of OOP, we move away from all material things and think in abstract ideas – or abstract classes and interfaces.
Python: writing applications
The best way of learning than repeated repetition after the teacher has yet to be invented. Repeat all the steps after our teachers, and you will learn how to work in PyCharm, crack passwords and create real messengers.
Counting calories and writing a voice assistant
Here a few simple programs in PyCharm. Bonus – tips for starting a career in Python.
We select passwords and work with the network.
- On the first day, you will remember the basics of Python and write a simple password parser program.
- On the second day, learn how to work with files and the network and code a utility for automatically guessing passwords.
- In the third, final lesson, we will analyze his homework – comparing it with his own decisions will be possible.
Creating a messenger with forms and an interface
How to write a messenger in Python:
- Traditionally, the first day is devoted to the language basics and writing a simple program.
- On the second day, you will write another program, create user registration forms, and set up sending and receiving messages.
- On the third day, Aleksey talks about the user interface and summarizes.
Parsing data
Parsing is when we collect data from sites and then do something with them, for example, analyze or create a database.
- Web scraping with Python and the Beautiful Soup library
- Parsing data in Telegram in Python
- Chatbots in Telegram in Python
Writing a desktop application
You can also write GUI applications in Python. It is convenient to do this because:
- Python is a simple and understandable language;
- Python has many tools that will speed up development;
- you can always find the answer to your question.
Python for data science
Surely someone has already written an article about the reasons for the popularity of Python among data scientists. These reasons are, honestly, not very important to us; remember that, currently, Python is the main language in data science.

First models
One of the strengths of Python is that a real machine-learning model can be coded in literally a couple of dozen lines or even less. And, of course, deep knowledge of Python is optional to write these lines.
- Galloping in Python: the language minimum for a novice data scientist
- Primary Data Transformation: Using the Pandas Library
- Working with Pandas: basic concepts and real data
- The NumPy Library: Everything a Newbie Needs to Know
- Your first machine-learning model
Making a Smart Chatbot
Mikhail Ovchinnikov, director of development at the London-based Noon Academy, will teach you how to make smart chatbots.
- On the first day, we will get acquainted with the architecture of the future chatbot, find out what NLU is, and also, as usual, brush up on the basics of Python.
- On the second day, we will teach the chatbot to understand the text. We will prepare the data, turn the words into numbers, train the model, and embed it in the chatbot.
- We will create a telegram bot on the third day and launch our application. The Rise of the Machines is near!
Writing a sighted neural network
Nikita Levashov, already familiar to us, will show how to make an application with a neuron inside.
- First day: Python basics for working with a neural network, work at Google Colab, and what computer vision is.
- Second day: training the model to recognize objects.
- Third day: writing an application and connecting it to the stream.
What is the result
Thoughtful mastering of these materials will give you enough skills to qualify for the position of an intern or, if you’re lucky, even a junior, depending on the requirements of a particular company.
The most important thing is not to stop. The path of a programmer is one of continuous learning, and Python programmers are no exception. This article is just the beginning of your journey into the vast world of IT. Note that it is not necessary to enter it alone.
You made that look easy!