Metode Instance vs. Statis vs. Kelas dengan Python: Perbedaan Penting

Metode Instance vs. Statis vs. Kelas dengan Python: Perbedaan Penting

Metode Python sering kali membingungkan setelah Anda masuk ke pemrograman berorientasi objek (OOP). Panduan ini mencakup tiga jenis metode utama dalam Python.





3 Jenis Metode di Python

Ada tiga jenis metode dalam Python: metode contoh , metode statis , dan metode kelas .





Mengetahui perbedaan tidak selalu diperlukan untuk membuat kode skrip Python dasar, tetapi begitu Anda maju ke OOP, perbedaannya dapat membuat perubahan besar.





Jika Anda baru mengenal Python, atau hanya ingin bereksperimen tanpa harus menginstal apa pun, pastikan Anda mengunjungi ini shell Python interaktif online .

Sebelum Kita Mulai: Memahami Pola Dekorator

Sebelum melihat perbedaannya, penting untuk memahami pola desain yang dikenal sebagai pola dekorator , atau hanya disebut penghias .



Dekorator terdengar rumit, tetapi tidak ada yang perlu ditakutkan. Dekorator hanyalah fungsi. Anda dapat menulisnya sendiri, atau menggunakan yang disertakan dalam pustaka, atau pustaka standar Python.

Seperti fungsi apa pun, dekorator melakukan tugas. Perbedaannya di sini adalah bahwa dekorator menerapkan logika atau mengubah perilaku fungsi lain. Mereka adalah cara terbaik untuk menggunakan kembali kode, dan dapat membantu memisahkan logika menjadi masalah individu.





Pola dekorator adalah cara yang disukai Python untuk mendefinisikan metode statis atau kelas. Inilah yang terlihat seperti di Python:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@staticmethod
def example_function():
''' This method is decorated! '''
print('I'm a decorated function!')

de = DecoratorExample()
de.example_function()

Dekorator harus segera mendahului fungsi atau deklarasi kelas. Mereka mulai dengan @ tanda, dan tidak seperti metode normal, Anda tidak perlu meletakkan tanda kurung di akhir kecuali Anda memberikan argumen.





Dimungkinkan untuk menggabungkan beberapa dekorator, menulis milik Anda sendiri, dan menerapkannya ke kelas juga, tetapi Anda tidak perlu melakukan semua itu untuk contoh-contoh ini.

cara mencegah laptop kepanasan

Metode Instance dengan Python

Metode instan adalah jenis metode yang paling umum di kelas Python. Disebut demikian karena mereka dapat mengakses data unik dari instance mereka. Jika Anda memiliki dua objek yang masing-masing dibuat dari kelas mobil, maka masing-masing objek tersebut mungkin memiliki properti yang berbeda. Mereka mungkin memiliki warna yang berbeda, ukuran mesin, kursi, dan sebagainya.

Metode instan harus memiliki diri sendiri sebagai parameter, tetapi Anda tidak perlu meneruskan ini setiap saat. Self adalah istilah khusus Python lainnya. Di dalam metode instan apa pun, Anda dapat menggunakan self untuk mengakses data atau metode apa pun yang mungkin berada di kelas Anda. Anda tidak akan dapat mengaksesnya tanpa melalui self.

Akhirnya, karena metode instan adalah yang paling umum, tidak diperlukan dekorator. Metode apa pun yang Anda buat akan secara otomatis dibuat sebagai metode instan, kecuali jika Anda memberi tahu Python sebaliknya.

Berikut ini contohnya:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
self.name = 'Decorator_Example'
def example_function(self):
''' This method is an instance method! '''
print('I'm an instance method!')
print('My name is ' + self.name)

de = DecoratorExample()
de.example_function()

NS nama variabel diakses melalui diri sendiri . Perhatikan bahwa ketika contoh_fungsi dipanggil, Anda tidak perlu memasukkan diri---Python melakukan ini untuk Anda.

Metode Statis dengan Python

Metode statis adalah metode yang terkait dengan kelas dalam beberapa cara, tetapi tidak perlu mengakses data khusus kelas apa pun. Anda tidak harus menggunakan diri sendiri , dan Anda bahkan tidak perlu membuat instance, Anda cukup memanggil metode Anda:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@staticmethod
def example_function():
''' This method is a static method! '''
print('I'm a static method!')

de = DecoratorExample.example_function()

NS @metodestatis dekorator digunakan untuk memberi tahu Python bahwa metode ini adalah metode statis.

Metode statis sangat bagus untuk fungsi utilitas, yang melakukan tugas secara terpisah. Mereka tidak perlu (dan tidak bisa) mengakses data kelas. Mereka harus sepenuhnya mandiri, dan hanya berfungsi dengan data yang diteruskan sebagai argumen. Anda dapat menggunakan metode statis untuk menambahkan dua angka bersama-sama, atau mencetak string yang diberikan.

Metode Kelas dengan Python

Metode kelas adalah jenis metode OOP ketiga dan terakhir yang perlu diketahui. Metode kelas tahu tentang kelas mereka. Mereka tidak dapat mengakses data instance tertentu, tetapi mereka dapat memanggil metode statis lainnya.

Metode kelas tidak perlu diri sendiri sebagai argumen, tetapi mereka membutuhkan parameter yang disebut cls . Ini singkatan dari kelas , dan seperti diri sendiri, secara otomatis diteruskan oleh Python.

Metode kelas dibuat menggunakan @metodekelas penghias.

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@classmethod
def example_function(cls):
''' This method is a class method! '''
print('I'm a class method!')
cls.some_other_function()
@staticmethod
def some_other_function():
print('Hello!')

de = DecoratorExample()
de.example_function()

Metode kelas mungkin merupakan jenis metode yang lebih membingungkan dari ketiganya, tetapi mereka memiliki kegunaannya. Metode kelas dapat memanipulasi kelas itu sendiri, yang berguna saat Anda mengerjakan proyek yang lebih besar dan lebih kompleks.

Kapan Menggunakan Setiap Jenis Metode

Ini mungkin tampak seperti keputusan yang sulit dan menakutkan untuk memilih di antara jenis-jenis metode dalam Python, tetapi Anda akan segera menguasainya dengan sedikit latihan.

tidak dapat memulai windows 10 dalam mode aman

Bahkan jika Anda hanya menulis skrip kecil untuk bersenang-senang, mempelajari fitur OOP lain dari Python adalah keterampilan yang bagus untuk diketahui, dan dapat membantu membuat kode Anda lebih mudah untuk dipecahkan, dan lebih mudah untuk digunakan kembali di masa mendatang.

Singkatnya:

  1. Metode Instance: Jenis metode yang paling umum. Mampu mengakses data dan properti unik untuk setiap instance.
  2. Metode Statis: Tidak dapat mengakses apa pun di kelas. Kode yang benar-benar mandiri.
  3. Metode Kelas: Dapat mengakses metode terbatas di kelas. Dapat memodifikasi detail spesifik kelas.

Jika tutorial ini sedikit maju, atau tidak sesuai dengan apa yang Anda cari, mengapa tidak melihat kursus ini untuk beralih dari Python pemula ke pro? 5 situs web ini juga bagus untuk pemula Python. Jika Anda ingin fisik, penggunaan dunia nyata Python, tetapi bosan dengan Raspberry Pi, bagaimana dengan panduan kami untuk mengendalikan Arduino dengan Python ?

Membagikan Membagikan Menciak Surel Cara Membersihkan PC Windows Anda Menggunakan Command Prompt

Jika PC Windows Anda kehabisan ruang penyimpanan, bersihkan sampah menggunakan utilitas Command Prompt yang cepat ini.

Baca Selanjutnya
Topik-topik yang berkaitan
  • Pemrograman
  • Pemrograman
  • Python
Tentang Penulis Joe Coburn(136 Artikel Diterbitkan)

Joe adalah lulusan Ilmu Komputer dari University of Lincoln, Inggris. Dia adalah pengembang perangkat lunak profesional, dan ketika dia tidak menerbangkan drone atau menulis musik, dia sering terlihat sedang mengambil foto atau membuat video.

More From Joe Coburn

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan