Apakah perbezaan antara kaedah contoh dan kaedah kelas dalam Python?

Susan Sarandon
Lepaskan: 2024-10-26 03:49:02
asal
595 orang telah melayarinya

What is the difference between instance methods and class methods in Python?

Kaedah Kelas vs. Contoh

Panduan gaya PEP 8 Python mengesyorkan menggunakan "diri" sebagai contoh kaedah argumen pertama dan "cls" untuk kelas kaedah pertama hujah. Memahami perbezaan antara kedua-dua jenis kaedah ini adalah penting untuk pengaturcaraan berorientasikan objek yang berkesan.

Kaedah Contoh

Kaedah contoh dikaitkan dengan tika tertentu kelas. Mereka beroperasi pada data kejadian dan biasanya menerima "diri" sebagai hujah pertama mereka. Apabila mengakses kaedah contoh sebagai, sebagai contoh, object.method(), tika itu dihantar secara automatik kepada kaedah.

Sebagai contoh, pertimbangkan definisi kelas berikut:

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

    def greet(self):
        print("Hello, my name is", self.name)</code>
Salin selepas log masuk

Di sini , "greet()" ialah kaedah contoh yang boleh digunakan pada mana-mana tika kelas "Orang" dengan "object.greet()".

Kaedah Kelas

Kaedah kelas, pada sebaliknya, dikaitkan dengan kelas itu sendiri dan bukannya dengan kejadian individu. Mereka menerima "cls" sebagai hujah pertama mereka, yang mewakili kelas. Kaedah kelas digunakan untuk tugasan yang berkaitan dengan kelas secara keseluruhan, seperti mencipta kejadian baharu atau mengakses data peringkat kelas.

Coretan kod berikut menggambarkan kaedah kelas:

<code class="python">class Math:
    @classmethod
    def sum(cls, a, b):
        return a + b</code>
Salin selepas log masuk

Kaedah "Math.sum()" mengambil dua hujah yang ditambah bersama dan dikembalikan. Memandangkan ia adalah kaedah kelas, anda boleh memanggilnya secara langsung sebagai Math.sum(1, 2) untuk mendapatkan hasilnya.

Dengan memahami perbezaan antara kaedah dan kaedah kelas, pembangun boleh memanfaatkan keupayaan penuh objek dengan berkesan -pengaturcaraan berorientasikan dalam Python.

Atas ialah kandungan terperinci Apakah perbezaan antara kaedah contoh dan kaedah kelas dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!