Perché alcune funzioni hanno caratteri di sottolineatura “__” prima e dopo il nome della funzione?

|

Questa "sottolineatura" sembra verificarsi spesso, e mi chiedevo se questo fosse un requisito nel linguaggio Python, o semplicemente una questione di convenzione?

Inoltre, qualcuno potrebbe nominare e spiegare quali funzioni tendono ad avere i caratteri di sottolineatura e perché (__init__, per esempio)?