Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Memanggil Satu Fungsi Ahli Daripada Yang Lain Dalam Kelas Python yang Sama?

Bagaimanakah Saya Memanggil Satu Fungsi Ahli Daripada Yang Lain Dalam Kelas Python yang Sama?

Mary-Kate Olsen
Lepaskan: 2024-12-13 14:45:11
asal
133 orang telah melayarinya

How Do I Call One Member Function From Another Within the Same Python Class?

Mengakses Fungsi Ahli Dalam Kelas

Dalam Python, kelas boleh mengandungi pelbagai kaedah untuk melaksanakan tugas tertentu. Satu senario biasa ialah mempunyai dua kaedah dalam kelas yang sama, dengan satu kaedah memanggil yang lain. Walau bagaimanapun, sintaks untuk mencapai ini mungkin tidak jelas dengan serta-merta.

Contoh Senario

Pertimbangkan coretan kod berikut:

class Coordinates:
    def distToPoint(self, p):
        # Calculate distance using Pythagoras

    def isNear(self, p):
        distToPoint(self, p)
        # ...
Salin selepas log masuk

Dalam ini contoh, kelas Coordinates mentakrifkan dua kaedah: distToPoint, yang mengira jarak antara koordinat ini dan titik lain, dan isNear, yang menyemak sama ada koordinat ini berada berhampiran titik yang ditentukan. Matlamat kami adalah untuk menggunakan distToPoint within isNear.

Penyelesaian: Menggunakan Invocation Fungsi Ahli

Untuk memanggil fungsi ahli dalam kelas yang sama, kami menggunakan sintaks diri.< ;nama_fungsi>(argumen). Dalam kes ini, self merujuk kepada contoh semasa kelas, dan function_name ialah nama fungsi yang ingin kami gunakan.

Oleh itu, dalam kaedah isNear, kami akan memanggil distToPoint seperti berikut:

def isNear(self, p):
    self.distToPoint(p)
    # ...
Salin selepas log masuk

Dengan menggunakan pendekatan ini, kami boleh memanggil fungsi ahli dengan lancar dari dalam kelas yang sama.

Atas ialah kandungan terperinci Bagaimanakah Saya Memanggil Satu Fungsi Ahli Daripada Yang Lain Dalam Kelas Python yang Sama?. 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