Ini adalah pertanyaan yang sangat bagus tetapi tidak ingin seperti pertanyaan. Ada perbedaan antara metode yang digunakan 'sendiri' dan 'cls' meskipun secara analog mereka berada di tempat yang sama
def moon(self, moon_name):
self.MName = moon_name
#but here cls method its use is different
@classmethod
def moon(cls, moon_name):
instance = cls()
instance.MName = moon_name
Sekarang Anda dapat melihat keduanya adalah fungsi bulan tetapi satu dapat digunakan di dalam kelas sementara fungsi lain bulan dapat digunakan untuk kelas apa pun.
Untuk pendekatan pemrograman praktis:
Saat mendesain kelas lingkaran, kami menggunakan metode area sebagai cls daripada self karena kami tidak ingin area dibatasi hanya untuk kelas lingkaran tertentu.