Python: Styling your Code

Photo by Brooke Lark on Unsplash

How should you style your code?

In an earlier article, I showed “The Zen of Python, by Tim Peters”. It is considered to be the core philosophy of Python. Here is it once again:

The Zen of Python, by Tim PetersBeautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Python Enhancement Proposal (PEP)

One of the oldest PEP is PEP 8, which tells Python programmers how they should style their code. The number one thing to keep in mind is to make your code as easy as possible to read since it is agreed that code is read more often than it is written. You’ll write your code and then start reading it in to debug it. And when you have to add features to a program, you’ll spend even more time reading your code. And when your code is shared with other programmers, they will have to read your code as well. So it’s best to write code that’s easy to read.

Indentation

PEP 8 recommends that programmers use four spaces per indentation level because it improves readability while leaving room for multiple levels of indentation on each new line. You can also use the TAB key but you should make sure the editor you are using is set to insert spaces rather than tabs.

Don’t mix tab and spaces in your file as it can cause problems that are difficult to figure out.

Line Length

PEP 8 recommends that you limit all of your comments to 72 characters per line. But some teams prefer a 99-character limit. Line length isn’t something to worry about as you learn, but be aware when you collaborate with others.

Blank Lines

Blank lines are great to group parts of your program visually. For example:

numbers = []
print("List of numbers:")
for number in range(1, 11):
value = number
numbers.append(value)
#This is a "Blank Line" that separates parts of the program
message = "My favorite number is " + str(numbers[6]) + "!"
print(message)
>>> List of numbers:>>> My favorite number is 7!

As you can see, the comment is there to show an example of where the blank line would be, but in reality there would be no comment there and it would just be an empty space in the code that would separate the creation of the list (from lines one to five) and using the newly created list to produce a message (from lines seven and eight).

The blank lines would not affect how your code runs, but it will affect how readable your code is to yourself and others.

--

--

--

Software Engineer for Boeing

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Shortest Path Searching App based on Airport Dataset

BSCPad Partner Update: LEXIT Upgrades Smart Contract to Include Anti-Bot Features

Spotlight: Alina Shaikhutdinova, Product Manager

Alina Shaikhutdinova, a white woman with long, flowing hair, smiles in front of a brick building. The photo is framed by bold graphics.

Can Product and Tech needs coexist in the Scrum Process?

Understanding the Number System

Drupal Layout Builder: How to Build a Platform with Theme Management

Manage AWS Credentials like a Pro

Oracle DB 21c Licensing Changes

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Aldrin Caalim

Aldrin Caalim

Software Engineer for Boeing

More from Medium

cxplot: the ggplot of JavaScript

Python — How to Read Files

Fundamental concepts of every programming language

Python Programming for Kids