Nel modulo threading
, nomi come RLock, Semaphore e Event sono tutte funzioni di fabbrica, mentre il nome delle classi di implementazione è preceduto da trattini di sottolineatura.Perché le classi nel modulo di threading Python espongono le funzioni di fabbrica anziché i costruttori?
Le funzioni di fabbrica passano solo tutti gli argomenti che hanno ricevuto ai costruttori sottostanti.
Quindi qual è il vantaggio di farlo?
La mia ipotesi è legacy; il modulo è piuttosto vecchio –
@MartijnPieters È così? Sto ancora usando Python2.7 sulla mia macchina. – satoru
'threading' è stato aggiunto alla libreria nel 1998; Penso che la versione 1.5.1 di Python sia stata la prima ad includerla. –