آموزش class ها‍ در پایتون

سلام دوستان با موضوع کلاس ها اشنا هستم ولی کمی عوض شد مدلش گیج شدم

class A(object):
    def a1(self):
        """ This is an instance method. """
        print "Hello from an instance of A"

    @classmethod
    def a2(cls):
        """ This a classmethod. """
        print "Hello from class A"

class B(object):
    def b1(self):
        print A().a1() # => prints 'Hello from an instance of A'
        print A.a2() # => 'Hello from class A'

اون object چیه که داخل کلاس مینویسن و به چه دردی میخوره؟

مطمئن نیستم ولی فکر کنم نیازی بهش نیست و میشه ننوشتش.
من کلا زیاد برنامه نویسی oop نکردم در طول زندگیم و با پایتون هم بیشتر فاکنشنال کار کردم (اگه بشه بهش گفت فانکشنال!) ولی تا جایی که یادمه هیچ‌جا ندیدم کلاس رو اینطوری تعریف کنن (داخل پرانتز چیزی بنویسن)

الآن هم که کد شما رو تست کردم، فرقی نمیکنه اگه چیزی توی پرانتز نوشته بشه یا نشه.

object بیس کلاس هست که تمامی کلاس ها اتومات به ارث میبرنش اگر هم ننویسیم خودکار انجام میشه در روبی هم همین شکله اگر اشتباه نگفته باشم این لینک شاید کمک کنه .

https://www.geeksforgeeks.org/oop-in-python-set-3-inheritance-examples-of-object-issubclass-and-super/

3 Likes

توی پایتون وقتی می خوان از یه کلاسی ارث ببرند داخل پرانتز می نویسند

class parents:
    pass

class child(parents):
    pass

در مثال بالا کلاس child از کلاس parents ارث برده.
فکر می کنم حرف دوستمون @farshad20 درست باشه همه کلاس ها از کلاس object ارث می برند چه بنویسم چه ننویسیم و پایتون قابلیت ارث بری چندگانه یا همان ارث بردن از چند تا کلاس را دارد

1 Like