Penjelasan yang akurat dari Armin Ronacher di atas, memperluas jawabannya sehingga pemula seperti saya memahaminya dengan baik: Show Perbedaan dalam metode yang didefinisikan dalam suatu kelas, apakah metode statis atau contoh (masih ada jenis lain - metode kelas - tidak dibahas di sini sehingga melewatkannya), terletak pada fakta apakah mereka entah bagaimana terikat pada instance kelas atau tidak. Sebagai contoh, katakan apakah metode menerima referensi ke instance kelas selama runtime
The
metode foo dapat diakses seperti di atas. Poin penting yang perlu diperhatikan di sini adalah bahwa segala sesuatu di python adalah objek dan referensi dalam kamus di atas sendiri menunjuk ke objek lain. Izinkan saya menyebutnya Objek Properti Kelas - atau sebagai CPO dalam lingkup jawaban saya untuk singkatnya. Jika CPO adalah descriptor, maka python interpretor memanggil Untuk menentukan apakah CPO adalah deskriptor, penafsir python memeriksa jika mengimplementasikan protokol deskriptor. Untuk mengimplementasikan protokol deskriptor adalah dengan mengimplementasikan 3 metode
untuk mis
dimana
Tidak semua CPO adalah deskriptor. Sebagai contoh
Ini karena kelas daftar tidak mengimplementasikan protokol deskriptor. Jadi argumen sendiri Jika Anda perhatikan metode ini masih direferensikan melalui kelas Object C dan pengikatan dengan instance kelas dicapai melalui melewati konteks dalam bentuk objek instance ke dalam fungsi ini. Ini cukup luar biasa karena jika Anda memilih untuk tidak menyimpan konteks atau tidak mengikat pada instance, yang diperlukan hanyalah menulis kelas untuk membungkus deskriptor CPO dan mengganti
Tidak adanya konteks dalam CPO yang dibungkus baru
Use case dari metode statis lebih merupakan penamaan namespace dan kode rawat (mengeluarkannya dari kelas dan membuatnya tersedia di seluruh modul dll). Mungkin lebih baik untuk menulis metode statis daripada metode contoh bila memungkinkan, kecuali tentu saja Anda perlu membuat kontekstual metode (seperti variabel akses contoh, variabel kelas dll). Salah satu alasannya adalah untuk memudahkan pengumpulan sampah dengan tidak menyimpan referensi yang tidak diinginkan ke objek. Apa beda method dan Function?Secara singkat perbedaan antara fungsi dan metode adalah fungsi adalah serangkaian instruksi untuk menjalankan sebuah tugas, sedangkan metode adalah serangkaian instruksi yang berkaitan dengan sebuah object.
Apa itu fungsi pada python?Fungsi (Function) adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai sub-program (modul program) yang merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan program utama. modul tertentu saja tanpa menggangu keseluruhan program.
Apa fungsi dari method?Sebuah method dapat mengembalikan nilai tertentu (memiliki return value), bisa juga tidak (void). Method dapat menerima argumen sebagai nilai masukan yang akan diproses di dalam method bersangkutan. Method dapat kita gunakan (panggil) berulang-ulang dari mana saja dalam program kita.
Apa perbedaan antara class dan juga Function?Class dalam PHP sebenarnya hampir sama seperti Function. Tapi ada beberapa perbedaan yang perlu kita ketahui, diantaranya adalah : Class dapat menyimpan Function Class memiliki karakteristik yang terkadang bisa menyimpan data (variabel) dan Function. Function 1.Memudahkan dalam mengembangkan program.
|