What are magic methods?
Python is a very flexible programming language, and the magic methods provide this flexibility.
Magic Methods are methods with specific syntax that provide functionality for different operations in Python.
For example:
# What do you use:
len(string)
a + b
# What Python does:
string.__len__()
a.__add__(b)
The a + b
operator invokes the __add__()
magic method of the first object (a.__add__(b)
). In Python, operators like +
call the corresponding magic methods of the objects involved. The __init__
magic method is called when an instance of a class is created.
Note
Magic methods have a specific syntax where the method name is enclosed in double underscores (
__
) at start and end of method name.
Let's take a look at an example implementation of the __add__
magic method:
12345678910111213class Road: def __init__(self, length): self.length = length def __add__(self, other_road): return Road(self.length + other_road.length) road_1 = Road(20) road_2 = Road(30) road_3 = road_1 + road_2 # road_3 = road_1.__add__(road_2) print(type(road_3)) print(road_3.length)
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Mi faccia domande su questo argomento
Riassuma questo capitolo
Mostri esempi dal mondo reale
Awesome!
Completion rate improved to 2.78
What are magic methods?
Scorri per mostrare il menu
Python is a very flexible programming language, and the magic methods provide this flexibility.
Magic Methods are methods with specific syntax that provide functionality for different operations in Python.
For example:
# What do you use:
len(string)
a + b
# What Python does:
string.__len__()
a.__add__(b)
The a + b
operator invokes the __add__()
magic method of the first object (a.__add__(b)
). In Python, operators like +
call the corresponding magic methods of the objects involved. The __init__
magic method is called when an instance of a class is created.
Note
Magic methods have a specific syntax where the method name is enclosed in double underscores (
__
) at start and end of method name.
Let's take a look at an example implementation of the __add__
magic method:
12345678910111213class Road: def __init__(self, length): self.length = length def __add__(self, other_road): return Road(self.length + other_road.length) road_1 = Road(20) road_2 = Road(30) road_3 = road_1 + road_2 # road_3 = road_1.__add__(road_2) print(type(road_3)) print(road_3.length)
Grazie per i tuoi commenti!