Ketika Anda mengetik exit
di baris perintah, itu menemukan variabel dengan nama itu dan panggilan __repr__
(atau __str__
) di atasnya. Biasanya, Anda akan mendapatkan hasil seperti:
<function exit at 0x00B97FB0>
Tetapi mereka memutuskan untuk mendefinisikan kembali fungsi itu agar exit
objek menampilkan pesan yang bermanfaat. Apakah itu perilaku bodoh atau tidak, adalah pertanyaan subjektif, tapi satu kemungkinan alasan mengapa itu tidak "keluar begitu saja" adalah:
Misalkan Anda sedang melihat beberapa kode dalam debugger, misalnya, dan salah satu objek referensi exit
fungsi. Ketika debugger mencoba memanggil __repr__
objek itu untuk menampilkan fungsi itu untuk Anda, program tiba-tiba berhenti! Itu akan sangat tak terduga, dan langkah-langkah untuk melawan yang mungkin mempersulit hal-hal lebih lanjut (misalnya, bahkan jika Anda membatasi perilaku itu ke baris perintah, bagaimana jika Anda mencoba mencetak beberapa objek yang memiliki exit
atribut?)
()
di akhir ... jika tidak, itu mungkin (mungkin) menjadi variabel ... atau semacam objek ...