Tuesday, October 3, 2023

Dunder Methods _ _variable_ _, _ _method_ _, _ _attribute_ _ In Python

In Python, the double underscore prefix and suffix, such as _ _variable_ _,_ _method_ _,
_ _attribute_ _ are often used to denote special or "magic" methods and attributes. These special methods have specific meanings in the context of object-oriented programming and are used to control various behaviors of objects and classes.

Here are some common use cases for double underscore (dunder) methods and attributes in Python:

Dunder Methods (Magic Methods): _ _variable_ _,_ _method_ _,_ _attribute_ _



_ _init_ _: This method is called when an object is created from a class and is used for initialization.

_ _str_ _: Returns a string representation of an object when str() is called on it.

_ _repr_ _: Returns a string representation of an object for debugging and development purposes. It's called when repr() is used.

_ _len_ _: Returns the length of an object when len() is called on it.

_ _getitem_ _ and _ _setitem_ _: These methods are used to define custom behavior for accessing and setting elements in an object, like in dictionaries or lists.

_ _iter_ _ and _ _next_ _: Used to make an object iterable, allowing it to be used in for loops.

_ _enter_ _ and _ _exit_ _: Used in the context of context managers for resource management with the with statement.

Dunder Attributes:



_ _doc_ _: Contains the docstring (documentation) of a class or function.

_ _name_ _: Holds the name of a module, class, or function.

_ _class_ _: Refers to the class of an object.

_ _module_ _: Contains the name of the module in which a class or function is defined.

These double underscore methods and attributes are part of Python's object-oriented programming features and allow you to define how objects of a class should behave when certain built-in functions or operators are used on them. By implementing these methods and attributes in your classes, you can customize the behavior of your objects to better suit your specific needs.

No comments:

Post a Comment

virtual environment on python on Ubuntu

 # 1. Update system and install Python tools sudo apt update && sudo apt install python3-pip python3-venv -y # 2. Setup Django in a ...