2nd Nov 2021 9 minutes read Things That Can Help You Write Better Python Code Xavier Rigoulet python python basics Do you wonder how to start learning programming with Python? Do you wonder how you can improve your Python code? Do you feel like you need to write better Python code but are unsure of what to do next? Do you feel like you’ve reached a plateau and struggle to get to the next level? In this article, I will go through a few things that can help you write better Python code. Let’s get right to it! Improving your code does not only mean improving its execution speed or reducing its memory usage. It also means writing more readable and more easily maintainable code. If you take the time to improve your code now, you will likely thank your younger self later. If not, the developer taking over your work after you’re done, will. As the Python programming language has a big community and is widely used for many tasks, it is the right choice if you are looking to learn a programming language. Write Better Python Code by Adopting a Growth Mindset Rebecca gives us some nice ideas on how to practice Python here. I want to add to it by highlighting the need for reflection. To succeed, you need to consistently try to get better at your craft. So, once you finish with a project or a coding session, it is a good practice to sit for a while and ask yourself what you could have done differently to write better Python code. Also, one of the best ways to write better Python code is to work on your skills daily. Marcin tells us here that we are never too old to learn Python. I am a firm believer that daily practice is the best way to write better Python code. In many ways, improving your Python code is similar to improving your chess skills. I love the game of chess, and I have spent a lot of time playing it. That said, playing games can only take you so far. Reading theory and solving chess puzzles have been extremely helpful to improve my games. Among those, solving chess puzzles has probably been the most helpful. Let me explain. Imagine you are in the middle of a game against your best friend who consistently beats you… but for the last few weeks, you have spent one hour every day solving chess puzzles. Suddenly, a position reminds you of a puzzle you’ve solved before, and you manage to find a combination leading to the capture of a piece. You get a material advantage, and the probability of winning turns in your favor. Eventually, you start to beat your unbeatable friend. Similarly, solving daily programming puzzles, studying theory through books or online courses, and building projects will help you improve your skills and write better Python code. If you do not know where to start, feel free to check our Python programming track to help you. But what does it mean to write better Python code? To me, it means writing cleaner, more readable, and more computationally efficient code. This will lead to increased productivity for everybody. For an individual, being more productive also means using the right tools. If you are not too sure about what I mean, the LearnPython.com Team gives us a nice list of Python IDEs here. Write Better Python Code by Following the PEP8 Convention Next, I want to discuss the use of the official Python Style Guide. Following the PEP8 conventions will make you write better Python code instantly. Simply by going through the best practices highlighted in the documentation, your code will become more readable, you will improve your coding skills, and you will write a more pythonic code. I will not get into the details of the PEP8 Python Style Guide here – you can refer to the documentation for that – I will only insist on why you should stick to it as much as possible. As Guido Van Rossum, the creator of the Python programming language, puts it himself: “Code is read much more often than it is written.” And as such, you may never have to rewrite a piece of code again. However, you will likely have to read it again. Every time you bump into it, you will have to remember what the code does and why you wrote it the way you did. This is why readability matters. Also, writing clear and readable code that follows official guidelines will show professionalism and tell others you know how to structure your code. Last but not least, following the PEP8 Python Style Guide helps to harmonize the codebase and make it more understandable. When you work in collaboration on a particular project, team members benefit from following an official style guide, as it makes it easier for everybody to understand each other's code. If you want to further understand how the PEP8 Convention can help you write better Python code, I encourage you to look at the official documentation here. Write Better Python Code by Commenting it the Right Way Adding comments to your code is important. Like the PEP8 Convention, commenting improves code readability and productivity. If you don't, chances are that you won’t remember what you had in mind at the time you wrote the code. Comments can help you remember what you wanted to do. They also help people who later work on your code to understand and maintain it. By properly commenting on your code, you will help improve the overall productivity of the team. But what does it mean to properly comment on your code? It can be tempting to think of commenting as a way to describe what the code does. But in reality, it is not that helpful and will not make better Python code unless you are writing a programming course. A better practice is to write comments explaining why the code works in a certain way rather than explaining what the code is doing. That way, you will help the developer who will work on your code to understand your choices better. And believe me – if you do not comment your code the way you should, you might have a hard time remembering yourself what you had in mind when you wrote it in the first place. By commenting the right way, you will not only help others understand a particular snippet of code but also understand the codebase better. In the end, I want to emphasize that comments are an important part of any codebase. Do not neglect them. Write Better Python Code With Reusable Functions and Performance Improvements It can be time-consuming and inefficient to write the same lines of code over and over again. Reusing your code is a smart way to increase your productivity. You can make your code more efficient by writing Python modules that can be called in your code later on. Storing functions inside Python scripts also make your code more readable and less cluttered. Writing better Python code is not only about readability but also about performance. While it may not be significant on one function or two, optimizing your code will show significant improvement on the whole project. There are two things to keep in mind here: the time to execute the code and the memory usage. For example, using list comprehensions instead of a for loop will make your code faster. This leads me to talk about Python one-liners. Python one-liners are powerful – they can help you achieve in one line of code what you would do in multiple lines in another programming language. It’s not just about making the code shorter – you will miss the point if your goal strictly becomes writing code as concisely as possible. That said, readable one-liners are a very pythonic way of writing code. List comprehensions and ternary operators are such examples. When using one-liners, the idea is to do a lot with very little. From this perspective, it is always a good idea to use Python built-in functions. They are already optimized out of the box, and you do not need to import them. If you are not sure what I am talking about, feel free to check our Python course on built-in algorithms here. Make Use of Version Control for Better Python Code Last but not least, you want to make sure to save your code through version control such as GitHub to track changes in your source code. I cannot emphasize enough the importance of pushing your code through GitHub regularly, not only because it is widely used in the industry but also because it can save you some trouble. Let me tell you a story. Once upon a time, I was training a machine learning model on my laptop which I hadn't pushed on Git. Unfortunately, my 4-year-old spilled a glass of water, and my non-waterproof laptop did not like it… and died… I had to open my laptop to extract the hard drive to recover my data. I also had to buy another laptop… So, to save yourself from trouble, it is a good practice to perform backups regularly, and pushing your code through your GitHub account is a nice way to do it quickly without a hassle. However, I think it is important to mention it is unsafe to keep confidential data on Git. In this case, a solution would be to provide an external link where the data can be downloaded, if relevant. If you haven’t created a GitHub account yet, you can do so here. It’s free, and it only takes a minute. Ready to Write Better Python Code? We have gone through some nice ways to help you write better Python code. We have learned writing better Python code is as much of embracing a growth mindset as it is about getting better technically. We have also learned writing better Python code means writing more reproducible, more readable, and more resource-efficient code. Finally, we have learned to not neglect version control by saving our code and keeping track of changes. I would also like to mention another good way to write better Python code – watching videos from experts to learn from them. If you do not know where to look, Jakub gives a very nice list of videos to deepen your knowledge of Python here. If you want to go one step further to improve your Python coding skills, you can take a look at our course on how to use Python built-in functions, and do not forget to visit LearnPython.com. Tags: python python basics