Перевод статьи «How to Learn Python The Easy Way (And Not the Way I Did)».
Python is supposed to be one of the easiest programming languages to learn. When I first tried to master this language and failed miserably, I was especially depressed by the realization that it was considered simple. When the second attempt failed, it got worse.
As it turned out (and as I understood on the third try), Python is really available even for such a humanist as me. You just need to approach it correctly.
How I Failed to Learn Python … the First Time
I first tried to learn Python almost ten years ago. I didn’t quite understand why I needed this. With Python I could, for example, automate some of my work, or perhaps write a small application. Knowing this language just seemed like a useful skill to have.
So I downloaded Learn Python the Hard Way electronically (it was free at the time) and started working on this tutorial.
The first obstacle in my path was installing Python on my system. At the time, most of the installation instructions were written for experienced programmers, and it took me ages to get it all done.
I wanted to learn how to write Python code, but the first thing I had to do was kill five hours fighting the command line. As a result, I was demotivated even before I even started.
When I finally got everything set up, I could start writing code from the book. For a while, I have been slowly piecing together a very simple text game.
But when faced with the first real problem, I abandoned it all. Problems in programming are inevitable; something is constantly not working, and it is completely incomprehensible why.
But I had more important things to do than banging my head against the keyboard and guessing strange error messages. Moreover, my ultimate goal was to create a game that was indifferent to me and that no one would ever play.
How I Failed to Learn Python … a Second Time
Several years later, I tried again. At that time, I was working as a journalist. I became interested in data journalism and data collection in particular.
I knew I would need Python programming skills for this job, so I found myself an online learning platform (I won’t say which one) and signed up for a Python for beginners course.
Like most open online courses, this course was built in video format. I watched a lecture on a Python-related topic, took a test on the course site to confirm that I had learned the material, and moved on to the next module.
Experienced programmers probably already know what happened next. When I tried to write Python code for my own purposes, it didn’t work out for me.
When you watch someone write code, it feels like you’re learning. And the tests on which I scored 100% seemed to confirm that I was assimilating the material well.
But of course, when it came time to put knowledge into practice, I was disappointed. I could watch the video and copy what the lecturer did, but it was very difficult for me to apply what I learned in my own projects.
It was also difficult to stay motivated because I was working on things that didn’t seem important or necessary to me.
I wanted to learn web scraping. But instead, I tried to understand the concept of object oriented programming. How does this relate to my goals? This was incomprehensible to me. In general, it was also easy to drop out of school a second time.
Reasons for failure
If you analyze my experience, it is not too difficult to understand why I failed. The first time I made two big mistakes.
- I didn’t have a clear goal. Why did I learn Python? I did not know that. When you don’t know why you’re doing something, it’s very easy to stop doing it at the slightest difficulty. And sooner or later, difficulties will certainly arise.
- At the start, I had too many problems. Ultimately I would still figure out how to get Python installed on my system. But given the lack of experience, when I also
print(‘Hello world!’)did not write, the complicated installation process was a serious demotivator.
When you learn something difficult (especially if you’re a beginner), you need small wins as early as possible. They help you believe that you can actually do what you intend to do.
Since my path in learning Python began with solving a difficult problem, and not even related to coding, I did not win any motivating early victories.
The second time I avoided these mistakes, I made several new ones.
- I do not practiced practical skills.Watching videos and passing tests made me feel like I could write code, but I wasn’t actually programming. When I did try to write code, I couldn’t. It was a traumatic experience because I thought I already knew how to do it. I had to repeatedly jump through each video to revisit different sections and re-learn the things I needed.
- I had a clear goal, but there was no clear path to it. I knew I wanted to do data journalism and web scraping, but I was taking a general Python course for beginners. This meant that I was researching things that could have a huge impact on software development, but not data journalism. I often found it difficult to connect the basics I learned with what I really wanted to do with the code.
Besides, I made another big mistake of a psychological nature. I perceived the process of learning Python in black and white. I kind of had two toggle positions: either I “learned Python” (all Python!), Or I didn’t.
This made the teaching prospects daunting. Whenever I encountered a problem, it was annoying in itself, but it was further aggravated by the fact that I imagined some kind of mythical “finish line” in learning Python, and that finish was very, very far away.
Of course, my perception was wrong. When learning any foreign language, there is no moment after which it can be argued that you have definitely learned it. With programming languages (including Python), the situation is exactly the same. They cannot be studied thoroughly, completely. But, as with foreign languages, you don’t need to be fluent in Python to achieve your goals.
Any first-year exchange student in your country will tell you that even being able to ask in the local language “How much does it cost” and “Where is the toilet” greatly improves the quality of life.
The same goes for Python. To change your life, you do not need to know everything (and even everything that is required knowledge).
But I learned this lesson by accident.
How I actually learned Python (to some extent, of course)
By 2018, I had already given up on the idea of learning Python. I tried twice and failed twice! But then I got a job at Dataquest. This company provides training for working with data on the Internet (including teaching Python programming).
My new job didn’t require any programming skills, but I decided that I still needed to try this platform out. I needed to understand our product and feel it from the student’s point of view. I thought I could probably learn enough to do web scraping as I planned before.
So with some trepidation, I created an account and started our course Python for Data Science.
To my surprise, it was easy and fun. Even more surprising was the fact that very soon I felt able to create some projects on my own.
I wrote a small script to sort emails. I also used Python to quickly parse some of the survey data. I even created a large web scraping project that I dreamed of when I was a journalist.
I have used and still use Python to make my job easier and improve my life. A couple of years passed. I’m still a beginner programmer, but I can already collect small scripts to simplify tasks and to solve data analysis problems that I have at work.
This became possible because I (more accidentally than intentionally) stumbled upon a way to learn Python, which avoided almost all the mistakes made in previous times.
- I had a clear goal – to learn Python at a level sufficient for simple data manipulation. This would allow me to better understand our clients.
- I didn’t have to mess with installing Python because Dataquest allows you to explore and write code right in your browser window.
- As I took the course, I was writing code rather than passively watching someone else write it.
- The training program was specially designed for working with data using Python. So the whole theory and all the exercises I did were important.
- I was just trying to learn what I needed for my goals, not learn whole Python.
How to make learning Python easier
Analyzing my mistakes and my accidental success, I come to several simple conclusions. To make learning Python easier:
First, define your goal. Why do you want to learn Python? What exactly do you want to build with it? If you don’t have a decent answer to this question, it can be really hard to stay motivated.
Second, find a way to learn by doing what do you want to do. If you can find a Python learning resource built specifically for game developers, great. But shared learning resources can also work if you apply what you’ve learned along the way to create projects for beginners.
Your coding training should involve writing the actual code, and that code should do what you’re interested in.
Third, don’t burden yourself with installing Python and its many libraries on your local system.
There are now many online platforms that allow you to write and run code in the browser. Try to make it as easy as possible for yourself to get started. You can tackle your local environment later.
Fourth, do not try to “studyandPython. This is an ambitious long-term goal that may not be achievable: even the best Python developers don’t know it intimately.
Instead, try learning how to use Python to create a simple version of your target project, or one part of it. Then, learn how to use Python to improve this project, or how to proceed to the next step.
Break big tasks into smaller pieces and focus on creating something specific. This will give you the moral pleasure of completing the project, which will reinforce your motivation.
Follow these guidelines, regardless of your personal reason for learning Python, and you can certainly achieve your goals!
The Easy Way to Learn Python entry was first introduced by Techrocks.