خیلی خوب.
پاسخ درست: "ارور در خط ۸" بود.

دلیلش کاملا در تصویر واضح گفته شده.
این عکس تکه‌ای از داکیومنتیشن پایتون به اسم
The Python Language Reference
هست.

اما خب یه توضیحی اگه بخوام بدم:
وقتی که شما تابعی رو در کلاس می‌نویسید مثل صورت سوال، در سطح کلاس مثل یک تابع معمولی شناخته میشه و اگه بنویسید
>>> Spam.foo
'<class function>'

رو می‌بینید؟ خب روی تابع‌ها ما میتونیم attribute ست کنیم که این کار رو کردیم و اروری هم نداشته، حتی فراخوانی attributeعه first name کاملا آزاده.

اما وقتی که یک instance از کلاس می‌سازیم، اون تابع foo دیگه تابع نیست و یک bound method هست.

در این قسمت از داک گفته میتونید attribute های متدهارو فراخوانی کنید اما نمی‌تونید روشون چیزی ست کنید

Comments

Be the first to add a comment