loading...
Cover image for Introducing "Dead Simple Python"

Introducing "Dead Simple Python"

codemouse92 profile image Jason C. McDonald Updated on ・3 min read

Dead Simple Python (13 Part Series)

1) Introducing "Dead Simple Python" 2) Dead Simple Python: Virtual Environments and pip 3 ... 11 3) Dead Simple Python: Project Structure and Imports 4) Dead Simple Python: Data Typing and Immutability 5) Dead Simple Python: Classes 6) Dead Simple Python: Errors 7) Dead Simple Python: Loops and Iterators 8) Dead Simple Python: Iteration Power Tools 9) Dead Simple Python: List Comprehensions and Generator Expressions 10) Dead Simple Python (An Announcement) 11) Dead Simple Python: Generators and Coroutines 12) Dead Simple Python: Lambdas, Decorators, and Other Magic 13) Dead Simple Python: Working with Files

Ever spent three hours trying to find that bit of knowledge that everyone seemed to have but you?

As a self-trained Python developer, I've sometimes found myself stuck in that knowledge crater, between tutorials far simpler than real life, and articles more advanced than I could comprehend. Even the documentation felt like a firehose of information, making it nearly impossible to find the one basic thing I needed to know.

In this series, I'll be exploring a few of these topics, in a way that hopefully makes them dead simple!

Intended Audience

While programmers at all experience levels may find this series useful, I'm specifically targeting Python novices. I am assuming, however, that you have a very basic understanding of programming. The coding topics especially will be more focused on the Python way of doing things, not on the underlying generic concept.

With that said, if you're an intermediate-level Python developer, you may still find it helpful to follow along with the series. Although I've been working with Python for nearly eight years, some of these topics didn't really "click" for me until recent years. These are the explanations I wish I'd had!

What You Won't Find Here

All of the topics I'm discussing here go much, much deeper. However, I don't want to muddy the waters, so I'll be omitting a considerable amount of detail. Once you're comfortable with a topic, and have done it a few times yourself, I recommend going back and reading through the official Python documentation on the topic.

A Note on Python Versions

The official end-of-life for Python 2 is rapidly approaching, so you should learn and begin using Python 3 as soon as possible! This entire series is geared towards Python 3, with a bias towards 3.6 and 3.7, except as otherwise noted.

Edits

The articles in this series are frequently being reviewed by my fellow Python experts, and by the Dev community at large. I will expand and revise accordingly. Always check the edit timestamp at the top of the article.

Roadmap

The current series plan is below. Please note, I may rearrange, add, or remove planned sections.

Dead Simple Python (13 Part Series)

1) Introducing "Dead Simple Python" 2) Dead Simple Python: Virtual Environments and pip 3 ... 11 3) Dead Simple Python: Project Structure and Imports 4) Dead Simple Python: Data Typing and Immutability 5) Dead Simple Python: Classes 6) Dead Simple Python: Errors 7) Dead Simple Python: Loops and Iterators 8) Dead Simple Python: Iteration Power Tools 9) Dead Simple Python: List Comprehensions and Generator Expressions 10) Dead Simple Python (An Announcement) 11) Dead Simple Python: Generators and Coroutines 12) Dead Simple Python: Lambdas, Decorators, and Other Magic 13) Dead Simple Python: Working with Files

Posted on Jan 17 '19 by:

Discussion

markdown guide
 

I just read the first two parts that are currently released. I gotta say, with Python being around the 5th language I dive into, I really appreciate this style of teaching! It's hard finding teaching material that doesn't start with "what is a variable" lol.

Do share if you have any resources for people picking up Python who are not new to programming. :)

 

So glad you're enjoying the series!

One of the reasons I'm writing this series is because there seem to be so few resources for picking up Python without "relearning" programming. In the #python IRC room, we usually just link people to the Official Python Tutorial, although that sometimes feels like drinking out of a fire hose. ;-)

 

Are you planning to cover pyenv - which allows to run multiple versions like 3.6 and 3.7 side by side ?

 

Honestly, probably not (although anything is possible). One, I've never used it myself, although that might change in the future. You can accomplish much the same end (perhaps a bit less elegantly) using virtual environments, so until someone is game for learning pyenv, they'll be just peachy. ;)

Two, I'm having to write these articles from as OS-agnostic standpoint, and I don't always have Windows or Mac systems to test on. (I rely on docs and my existing knowledge of those operating systems for that. Since this works with system paths, that gets especially tricky. (I'm deliberately avoiding the entire topic of system paths for reason of OS availability on this end.)

Three, it's something of a can of worms diving into many tools: if I cover pyenv, undoubtedly someone will ask me to cover pythonbrew, pythonz, pipenv (actually, already had four requests for that), and so forth. So, while pyenv looks like a thoroughly awesome tool, it seems a bit beyond the very specific knowledge level I'm aiming for. As it is, the Testing article is going to be a trick, because I need to cover all three of the main testing frameworks for Python, lest someone comment that I left out an important one.

Anyway, all that to say - probably no. However, if you wrote an article on it, I'd happily add a link to it at the bottom of the Virtual Environments article. :)

 

Yay, Thanks Jason.

I'm really enjoying my journey with python so far. It's only been a short while since I started writing python, but it has found a place in my heart.

Looking forward to your insights.

 

Python is such an awesome language. So easy to do powerful things without a lot of cruft. Thanks for doing this.

 
 

I don't know how I'm only discovering this series now. It looks great! I'll definitely bookmark this and refer back to it for a Python refresher.

Thanks for writing, Jason!