2011-10-10 12 views

risposta

6

La maggior parte dei tipi built-in non è direttamente referenziabile (es. Str, int, float, list, dict, None), e ce ne sono alcuni che non possono nemmeno essere fatti da sottoclasse (ad esempio tuple in CPython).

Alcuni dettagli sull'implementazione sottostante di weakrefs per diversi tipi built-in sono disponibili in this March-2005 python-list post by Raymond Hettinger.

+0

Grazie. Ora potrei vedere il motivo per cui tuple e str non potrebbero essere referenziati deboli. Che ne dici di elencare e dettare? Perché dobbiamo sottoclasse questi tipi per creare riferimenti deboli per loro? –

+0

Se gli hint forniti nel secondo paragrafo non sono sufficienti per andare avanti, allora temo di non saperne abbastanza degli interni di python per spiegare ulteriormente. Forse staresti meglio a fare questo tipo di domande sulla [lista python-dev] (http://mail.python.org/mailman/listinfo/python-dev). Sono sicuro che uno degli sviluppatori di python sarà in grado di darti una risposta definitiva alla tua domanda. – ekhumoro

+0

Arrivato qui solo ora, il link al post è rotto. Penso che http://mail.python.org/pipermail/python-list/2005-March/346301.html lo sia comunque. –

0

La mia ipotesi plausibile è che dts ed elenchi sono utilizzati internamente per implementare le deboli riforme, quindi si dovrebbe avere una situazione di pollo all'uovo qui.

Problemi correlati