Hey Python-Learner: Don't Python Just to Be Pythoning

Hey Python-Learner: Don't Python Just to Be Pythoning

Sometimes you can't just Python to Python. Hopefully you're studying Python (or another computing language) because it connects to the way you think in some way. But you shouldn't always Python just to Python. There needs to be something more.

Python is a language, like any other language you would study. It can be very frustrating. You look at some code. You type the code EXACTLY (as far as you can tell) the same way you see it and it doesn't work. Just like when you try to say something in a foreign language, and someone corrects you, and says the word EXACTLY (as far as you can tell) the same way you said it. It's really frustrating. When you get frustrated like this you can't just push on the language, by saying the words louder or hitting the keys harder. You'll risk physical or technological injury.

It's at this point that you need to remember that languages are tools. They aren't the endpoints. You may like the way they are put together, and may gain some pleasure purely from their use, but they are there to do things for you. The code and grammar aren't the achievements. It's the "Hello, World" on the screen, the meal you order at the restaurant, the complex web app you built from scratch, or the newspaper article you wrote about international economics. Those are what you Python or learn a foreign language to do.

When people ask me how to learn Python (first mistake, asking me), I tell them not to Python just to Python. Python to accomplish something. Something that makes you happy. Of course you'll need to pound some basics before you you can use Python to achieve something super relevant to your life, but even the small wins can be fun in the early stages. And these wins are what you Python to get to.

Why do I Python? I Python to plow through Richard Little's play-by-play stats for the 2021 AFL season to be able to say something cool about footy strategy. I Python to look at player trends in disc golf. I'll Python to learn more about the 2020 summer olympics (held in 2021), from Kaggle . Yeah, usually I Python to find out cool sports-related stuff, because that's what interests me (see discsanddata.com for more). If you make me Python to predict wheat prices, I'll be Pythoning to Python, unless you're paying me, then I'll be Pythoning for cash. As long as I'm trying to accomplish something I'm interested in, it's easy to code for hours and mine stack overflow and tech blogs to figure out how to make my code work. And that's where the real learning comes. When you are coding towards a purpose you want to achieve, it means much more to you than just working with random data you don't care about (Pythoning just to Python).

When you are learning Python it's important to find projects and data that interest you. There are SO MANY publicly-available data sets about SO MANY topics. The google is your friend. And if there's data you want, but can't find in a csv or publicly-available document format, but you can find it on a website, you can always try to scrape it. There is too much fun and growth to be had by pythoning for a purpose as opposed to pythoning just to python.