جواب کوئیز یک گزینه دو یعنی 14 می باشد. که 70 درصد پاسخ ها اشتباه بود 🤔 🟢 جواب :
نکات این کد: 1. متغیر m گرچه قبل از init اورده شده ولی جزئی از متغیرهای کلاس محسوب میشه و داخل کلاس با self.m قابل دسترسه.
2. مجیک فانکشن call باعث میشه کلاس مثل توابع قابل فراخوانی باشه. توجه کنید که همیشه instance کلاس فراخوانی میشه نه خود کلاس.
3. تابع init با اولین فراخوانی اجرا میشه و instance کلاس رو تولید میکنه.
در این مثال اول تابع init با پارامتر 2 اجرا میشه. در این مرحله self.x برابر با 4 میشه. حالا instance کلاس با پارامتر 3 فراخوانی میشه، یعنی تابع call اجرا میشه. خروجی میشه: 3 * 4 + 2 که برابر 14 هست.