PDA

View Full Version : فرق این دو قطعه کد در چیه؟



black phoenix
دوشنبه 16 بهمن 1391, 21:19 عصر
سلام دوستان
من در حال یادگیری زبان پایتون هستم و الان به مبحث شی گرایی رسیدم.
همون طور که می دونید در متد های بکار رفته در کلاس ها باید از یک پارامتر اضافه به نام self استفاده کرد.
حالا برای من این سوال بوجود اومده که تفاوت دو قطعه کد زیر در چیه و اصولا متد __init__ چه کاربردی داره؟


class person:
def __init__(self,name):
self.name = name
def sayhi(self):
print('hello, my name is ',self.name)
person('mohsen').sayhi()




class person:
def sayhi(self,name):
print('hello, my name is ',name)
person().sayhi('mohsen')

silverfox
دوشنبه 16 بهمن 1391, 22:33 عصر
__init__ کار constructor رو انجام می ده دیگه یعنی یک instance که از کلاس ایجاد کنی اون تابع اجرا می شه، تفاوت در خروجی ندارن کدا ولی فرق می کنن دیگه