Image from freeflo.ai (Esaú Romo)

4 Essential Python Tips for 2024

Gustav Benkowski
2 min readJan 6, 2024

--

With the new year just starting, why not sharpen your Python knowledge by refreshing these 4 useful Python skills?

  1. Let’s start with a fundamental one in Python. List Comprehensions! These can make your code more readable and save a lot of space. Here is an easy example with a simple square function.
# function = []
# for x in range(10):
# function.append(x**2)

squares = [x**2 for x in range(10)]

2. Decorators can be used for timing or other functionality! Here we use a timer function to run our original function while also timing it. These decorator functions can be used for a lot of things but are mainly used with repeated tasks. Example use cases: logging information, writing data, reading data, and timing functions.

import time

def timer(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(end - start, end="s")
return wrapper

@timer
def add(x, y):
return x + y

3. Enumerate in for-loops. Using the enumerate function in a Python for-loop gives you more flexibility to get both the index and item from the list that you loop over. This makes your code a lot more readable than using, for example, fruits.index(fruit) to get the index of an item.

fruits = ['apple', 'banana', 'orange', 'grape']

# Using enumerate to loop over the elements with their index
for index, fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")

4. The last one is multithreading using the built-in library threading in Python. Using threading allows you to run two or more functions at the same time on the processor. This has a lot of use cases, especially in UI programs running Tkinter where multiple loops are running at the same time.

import threading
import time

def print_numbers():
for i in range(5):
time.sleep(1) # Simulate some work
print(f"Print Numbers: {i}")

def print_letters():
for char in 'ABCDE':
time.sleep(1) # Simulate some work
print(f"Print Letters: {char}")

# Create two threads
thread_numbers = threading.Thread(target=print_numbers)
thread_letters = threading.Thread(target=print_letters)

# Start the threads
thread_numbers.start()
thread_letters.start()

# Wait for both threads to finish
thread_numbers.join()
thread_letters.join()

print("Both threads have finished.")

Thank you for reading through my article and I hope that you have learned something new and that this year becomes a great one!

--

--

Gustav Benkowski
0 Followers

Electrical engineering student, Python enthusiast, and part-time coder. Balancing circuits, code, and a love for music and gaming. ✨🔧🎹🎮