Learn to be a Python Charmer

It was 11:59pm on December 31st, 2014. I was in a bar enjoying a concert of rotating Seattle musicians playing covers of David Bowie and Talking Heads. As the countdown commenced and everyone started running through drunken promises to themselves of eating healthier or working out more or drinking less or whatever, I thought, “This year, I’m really going to learn Python.”

This may seem like a weird resolution if you don’t know me very well. But people who do know me would think this is totally normal. After all, Python is very useful to data visualization enthusiast. It’s a great tool to use for data cleanup, transformation, and collection via APIs and web scraping. I’d love to learn how to do programmatic web scraping for the few times I run into where import.io isn’t enough.

For anyone who wants to take this crazy Python journey with me, I’ve been researching methods to learn Python and found a couple of great resources to learn it.

For the readers

I have to admit, I’m one of those terrible millennials that the media likes to write about that is too ADHD to learn anything from passively reading books. But for those of you blessed with the ability and desire to learn via the written word, here are some good book suggestions I’ve gotten from the community to learn Python:

For interactive style learners

If, like me, you need something a little more interactive to get you to learn, there are a number of free and paid interactive courses you can take online.

  • Codecademy: This is a really fun interactive course. The nice thing is that you don’t need to install a Python environment on your computer to get started; all the exercises are done in browser. It’s also full of silly Monty Python jokes. This is a great way to go if you don’t have any experience with object-oriented programming. Beware though! I tried going this route last year and it ended up being so fun that I did 53 lessons in one sitting and then promptly forgot everything when I opened it up again a couple weeks later.
  • Treehouse: I’ve used Treehouse to learn CSS and it’s another really fun, interactive learning environment. You watch videos and then go through related exercises. It also has some more fun gamification aspects to help keep you on track and a great community behind it to answer your questions.
  • Programming for Everybody: This Coursera course is another good resource for anyone starting from scratch when it comes to programming. You’ll also get a verified certificate for completing it, which can be useful. The next class starts up early February, so it is perfect timing!
  • Dataquest.io: Similar to Codecademy, this interactive Python course is all done in browser. This one is focused particularly on using Python for data science, which is pretty cool.

For people who need some accountability

I’m going to try out a couple of those interactive learning websites I listed above, but I know that the thing that really helps me learn is having someone keeping me accountable, checking in with what I’m learning and helping to answer questions when I can’t wrap my head around concept. Luckily, my friend and badass drummer, Wendy Grus, leads a pretty awesome Meetup group here in Seattle called the Seattle PyLadies. They have bi-weekly “Hacknights” where they bring their laptops and all help each other with their projects, as well as talks that they organize. “It is good to join PyLadies if you are new to python, because there are people there who can help you out when you get stuck. If you aren't new to python, you can learn about new projects or new applications to do with python,” Wendy says.

Look on meetup.com for local Python meetups you can join. It’s not only a great way to get help and hold yourself accountable while learning, but you’ll also make some awesome nerdy friends!

Now that you have some tools to help you learn Python, I’ll leave you with Wendy’s sage wisdom when it comes to learning Python:

“As with learning anything new, don't be afraid to make mistakes."