laughing
یک شنبه 05 مهر 1394, 18:17 عصر
در پایتون یک کلاس مجموعهای از خصوصیات است که توسط اشیا قابل دسترسی میباشد. این خصوصیات شامل توابع (functions)، که به متدها (methods) معروف میباشند، متغیرهای کلاسی و property ها میباشند.
برای نمونه یک کلاس بهصورت زیر تعریف میشود:
class Account(object):
"A Simple Class"
num_accounts = 0
#................................................
def __init__(self, name, balance):
"Initialize a new Account instance"
self.name = name
self.balance = balance
Account.num_accounts += 1
#................................................
def __del__(self):
Account.num_accounts -= 1
#................................................
def deposit(self, amt):
"Add to the balance"
self.balance = self.balance + amt
#................................................
def withdraw(self, amt):
"Subtract from the balance"
self.balance = self.balance - amt
#................................................
def inquiry(self):
"Return the current balance"
return self.balance
این کلاس سه متغیر به نام های num_accounts ، name و balance دارد.
تابع __init__ در کلاس مانند یک سازنده عمل می کند
همان طور که گفتیم تابع در کلاس را متد میگویند. متد تابعی است که روی یک شیای از کلاس اجرا میشود و این شی از کلاس را به عنوان پارامتر اول خود در نظر میگیرد. به طور قراردادی این پارامتر را self در نظر میگیرند، اما هر نام دیگری برای آن میتوان در نظر گرفت.
ساخت شی از کلاس بهصورت زیر انجام میشود:
object1 = Account("Mohammad", 2313.3)
object2 = Account("Ali", 54)
یک ویژگی جالب کلاسها این است که اشیای پیادهسازی شده از یک دیکشنری برای نگهداری اطلاعات خودشان استفاده میکنند. این دیکشنری با استفاده از مشخصه __dict__ قابل دسترس است. به عنوان مثال اگر این مشخصه را برای شی object1 فراخوانی و آن را چاپ کنیم:
print(object1.__dict__)
نتیجه زیر را مشاهده می کنیم:
{'balance': 2313.3, 'name': 'Mohammad'}
Reference:Python Essential Reference,Third Edition, Sams Publishing(2006)
برای نمونه یک کلاس بهصورت زیر تعریف میشود:
class Account(object):
"A Simple Class"
num_accounts = 0
#................................................
def __init__(self, name, balance):
"Initialize a new Account instance"
self.name = name
self.balance = balance
Account.num_accounts += 1
#................................................
def __del__(self):
Account.num_accounts -= 1
#................................................
def deposit(self, amt):
"Add to the balance"
self.balance = self.balance + amt
#................................................
def withdraw(self, amt):
"Subtract from the balance"
self.balance = self.balance - amt
#................................................
def inquiry(self):
"Return the current balance"
return self.balance
این کلاس سه متغیر به نام های num_accounts ، name و balance دارد.
تابع __init__ در کلاس مانند یک سازنده عمل می کند
همان طور که گفتیم تابع در کلاس را متد میگویند. متد تابعی است که روی یک شیای از کلاس اجرا میشود و این شی از کلاس را به عنوان پارامتر اول خود در نظر میگیرد. به طور قراردادی این پارامتر را self در نظر میگیرند، اما هر نام دیگری برای آن میتوان در نظر گرفت.
ساخت شی از کلاس بهصورت زیر انجام میشود:
object1 = Account("Mohammad", 2313.3)
object2 = Account("Ali", 54)
یک ویژگی جالب کلاسها این است که اشیای پیادهسازی شده از یک دیکشنری برای نگهداری اطلاعات خودشان استفاده میکنند. این دیکشنری با استفاده از مشخصه __dict__ قابل دسترس است. به عنوان مثال اگر این مشخصه را برای شی object1 فراخوانی و آن را چاپ کنیم:
print(object1.__dict__)
نتیجه زیر را مشاهده می کنیم:
{'balance': 2313.3, 'name': 'Mohammad'}
Reference:Python Essential Reference,Third Edition, Sams Publishing(2006)