Python Object Creation: __new__ vs __init__

Python’s magic methods __new__ and __init__ play complementary roles in the lifecycle of an object: 👉 __new__ is a static method, primarily concerned with creating and returning a new instance of a class; it acts before the object is fully instantiated in memory. 👉 Following this, __init__ functions as an instance method, tasked with configuring … Read more

Python hasattr() – Easy Examples and Use Cases

Python’s built-in hasattr(object, string) function takes an object and a string as an input. It returns True if one of the object‘s attributes has the name given by the string. Otherwise, it returns False. Syntax hasattr() The hasattr() object has the following syntax: Syntax: hasattr(object, attribute) # Does the object have this attribute? Arguments object … Read more

Python Return Class From Function

Can you return a class from a function in Python? In Python, all entities are objects, allowing functions to return not just numerical types like int, float, or complex values, but also collections (list, tuple, dictionary, set), custom objects, classes, functions, and even modules or packages. Let’s Dive Into Python Functions and Classes First 👇 … Read more

(Easiest Guide) What Are Python Metaclasses?

A Python metaclass is a class that creates and controls other classes, similar to how classes create and control objects. It’s essentially a “class of a class”. Metaclass Metaphor 1: Toy Factory Imagine you’re running a toy factory. The blueprint for each type of toy (like a car, doll, or train) is like a class … Read more

Python getattr() and setattr() Nested

Understanding Python’s setattr() and getattr() Functions Next, you’ll learn about the “normal”, non-nested and non-recursive get and set attribute functions. If you already know them well, there’s no need to read this section and you can skip ahead right to the problem formulation and solution. Let’s start with the setattr() function, followed by getattr(). setattr() … Read more

(Solved) Python TypeError ‘Method’ Object is Not Subscriptable

The “TypeError: ‘method’ object is not subscriptable” occurs when you call a method using square brackets, e.g., object.method[3]. To fix it, call the non-subscriptable method only with parentheses like so: object.method(3). How Does the Error Occur (Example) In the following minimal example, you attempt to define a custom “list” class and you try to access … Read more

How to Retrieve a Single Element from a Python Generator

This article will show you how to retrieve a single generator element in Python. Before moving forward, let’s review what a generator does. Quick Recap Generators 💡 Definition Generator: A generator is commonly used when processing vast amounts of data. This function uses minimal memory and produces results in less time than a standard function. … Read more

Python Package Version: the __version__ Attribute

Python __version__ Attribute Python contains many “Magic Methods/Attributes”. One of these is __version__ commonly called “Dunder version” because of the double underscore before and after version. In this article, I will briefly look at what a Dunder Method/Attribute is and talk about __version__. What Does a Dunder Method/Attribute Do? Dunder Methods/Attributes, also called “Magic Methods” … Read more