What are the unique methods of the class?

Say that if you had a class and you defined it as:

class A:
    pass

And when you use the function:

dir(A)

Returns all the methods and attributes that the class contains:

['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']

My question is: what methods are double underlined before and after them, such as __class__, __delattr__, __dict__, __init__, are called? I suggested that they are called constructors, but after research - it seems that the term refers only to a function __init__. Does anyone know if there is a specific category for calling these methods?

+4
source share
2 answers

They are called the names of special methods :

Special Method Names

, (, ), . Pythons , .

:

, " ". , .

, , . . :

__*__
. ( ). Special method names . , Python . __*__ , , .

dunder, . , .

, __init__ - , . . , __new__.

+6

special . .

Python , :

, Python , . , . .

dunder () - .


, dir .

+1

Source: https://habr.com/ru/post/1689857/


All Articles