Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah perbezaan asas antara Kaedah Kelas dan Contoh dalam Python?

Apakah perbezaan asas antara Kaedah Kelas dan Contoh dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-10-26 03:34:02566semak imbas

What is the fundamental difference between Class and Instance Methods in Python?

Memahami Perbezaan Antara Kaedah Kelas dan Contoh dalam Python

Kaedah contoh biasanya digunakan dalam pengaturcaraan berorientasikan objek (OOP) dan dikaitkan dengan kejadian atau objek individu. Dalam Python, kaedah contoh mengambil parameter diri sebagai hujah pertama, yang mewakili contoh kelas di mana kaedah digunakan. Parameter ini membolehkan kaedah untuk mengakses dan mengubah suai data dan atribut tika.

Sebagai contoh, pertimbangkan kelas berikut dengan kaedah contoh bernama introduce():

<code class="python">class InstanceExample:
    def __init__(self, name):
        self.name = name

    def introduce(self):
        print(f"Hello, I'm {self.name}!")</code>

Dalam senario ini, kaedah introduce() akan dipanggil pada contoh kelas InstanceExample, yang akan dihantar sebagai parameter kendiri.

Sebaliknya, kaedah kelas dikaitkan dengan kelas itu sendiri, bukannya kejadian individu. Mereka mengambil parameter cls sebagai hujah pertama, yang mewakili kelas yang dimiliki oleh kaedah tersebut. Kaedah kelas biasanya digunakan untuk operasi yang berkaitan dengan kelas itu sendiri, seperti mencipta atau mengubah suai atribut kelas.

Berikut ialah ilustrasi kaedah kelas dalam Python:

<code class="python">class ClassExample:
    class_attribute = 10

    @classmethod
    def set_class_attribute(cls, value):
        cls.class_attribute = value</code>

Dalam kes ini , kaedah set_class_attribute() boleh digunakan menggunakan nama kelas, tanpa memerlukan contoh. Ia membenarkan pengubahsuaian atribut class class_attribute.

Perbezaan antara kaedah kelas dan contoh adalah penting dalam Python OOP dan memahami peranan parameter kendiri dan cls adalah penting untuk penggunaan berkesan konsep pengaturcaraan berorientasikan objek.

Atas ialah kandungan terperinci Apakah perbezaan asas antara Kaedah Kelas dan Contoh dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn