Advertisement

7 Mistakes Every Python Coder Should Avoid

Python is one of the top programming languages choices for beginners. It is easy to learn, use and can be used for high-level programming.
Python mistakes

Python is one of the top choices of programming languages for beginners. It is easy to learn, easy to use and can be used for high-level programming. However, once starting to code with Python, one might make avoidable mistakes. 

Today, we list some of the Python features and mistakes that are best avoided: 

Case sensitiveness 

Python is case sensitive, which means, a letter in cap will mean completely different for a variable with the same name but in a small case. For instance, ‘num’ and ‘Num’ are two different variables. It is one of the most common errors made by developers beginning to programme in Python. 

Python offers functions that perform the same function, but the execution is different. 

For instance, functions sort() and sorted() perform the same task (sorting of arrays), but work differently: 

Code:

list1= [7,9,5,2,1] 

print(list1.sort())

list2=[8,2,3,4,9,1]

list2=sorted(list2)

print(list2) 

Output: 

[1,2,3,4,8,9]

While list1 was sorted in the first line of code, it did not display any output since the sorting was done in place. Whereas in the second line of code, a new list is created that prints the sorted result. 

Thus, programmers should be familiar with how each function works in order to get the desired results. 

Not using comments and Doc strings 

In any programming language, comments form an integral part. The basic job of comments is to make the code self-explanatory and more readable. Docstrings, on the other hand, is a string literal specified in source code, such as a comment, used to document a particular segment of code. 

For a long code, no use of comments or doc strings will lead to challenges during debugging. Comments and doc strings can come as a lifesaver to the programmer. 

Low test coverage 

When starting with Python programming, one may not be familiar with the advantages of unit testing. However, once past the ameateur stage, programmers realise the necessity of unit testing. When working on untested code, one might introduce a new error while trying to fix another. Therefore, it is advisable to use test cases and validate implementations as soon as one adds a new feature or a function. Libraries such as unittest and pytest are available for this. 

Inappropriate Naming 

In order to make the code more readable and error-free, a programmer must follow the convention of appropriately naming the code. 

That is, 

  • Naming functions carelessly may result in blunder. For instance, a function that displays the minimum value should be named as “returnMinimumValue()” instead of “min()”. 
  • Names of models should not clash with Python standard library modules. This may lead to problems or become challenging when one is trying to import the library module. 

Mistakes in Indentation 

Python does not rely on brackets to separate code blocks. Thus, even one indentation mistake can result in unexpected output. This becomes all the more challenging when one is using multiple functions– all in the same code file. Oftentimes, it may not even give an indentation error but can become a serious bug in the code. 

Misusing the __del__ method 

In Python, __del__ is a dunder or magic method. Magic methods are ones with two prefixes and suffix underscores in the method name. It is usually used for operator overloading. 

__del__ is a destructor method and is called when all references of an object are deleted. That is, when an object is garbage collected. 

Syntax to use __del__: 

def__del__(self):

Body of destructor

.

.

Misusing the __init__ method 

Init is a reserved method in Python. The __init__ method can be used when an object is created from the class and access is required to initialise the attributes of the class. That is, it is used to set the values of instance members for the class object. However, oftentimes programmers use it to return a value from the init method– not the actual purpose of the method. 

Download our Mobile App

Debolina Biswas
After diving deep into the Indian startup ecosystem, Debolina is now a Technology Journalist. When not writing, she is found reading or playing with paint brushes and palette knives. She can be reached at debolina.biswas@analyticsindiamag.com

Subscribe to our newsletter

Join our editors every weekday evening as they steer you through the most significant news of the day.
Your newsletter subscriptions are subject to AIM Privacy Policy and Terms and Conditions.

Our Upcoming Events

15th June | Bangalore

Future Ready | Lead the AI Era Summit

15th June | Online

Building LLM powered applications using LangChain

17th June | Online

Mastering LangChain: A Hands-on Workshop for Building Generative AI Applications

20th June | Bangalore

Women in Data Science (WiDS) by Intuit India

Jun 23, 2023 | Bangalore

MachineCon 2023 India

26th June | Online

Accelerating inference for every workload with TensorRT

MachineCon 2023 USA

Jul 21, 2023 | New York

Cypher 2023

Oct 11-13, 2023 | Bangalore

3 Ways to Join our Community

Telegram group

Discover special offers, top stories, upcoming events, and more.

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Subscribe to our Daily newsletter

Get our daily awesome stories & videos in your inbox
MOST POPULAR