PDA

View Full Version : Self در برنامه نویسی پایتون به صورت شی گرا به چه معنیست ؟



who are you
یک شنبه 13 اردیبهشت 1394, 00:24 صبح
سلام
Self در برنامه نویسی پایتون به صورت شی گرا به چه معنیست ؟ چه کاری انجام میده و وجودش برای چیه؟
اونکه __ میذارن قبلش برای چیه و کارش چیست؟
ممنون میشم تا جایی که میتونید کامل توضیح بدید خیلی مبتدی :قلب:

serj1975
یک شنبه 13 اردیبهشت 1394, 09:29 صبح
ابتدا class تعریف میشود و سپس object ها با تعریف کلاس ساخته میشوند. مثال مشابه آن: class قالب کیک و object خود کیک. حال در تعریف کلاس متدها و متغییرها (Instance Variables) تعریف میشوند. برای دسترسی به متدها و instance variables در دیگر متدهای تعریف شده از self استفاده میشود



class Sample(object):

def __init__(self):
self.sum = 0.0
self.avg = 0.0

def calc_add(self,a,b):
self.sum = a + b

def calc_avg(self,a,b):
self.avg = (a + b) / 2

def print_sum(self):
print(self.sum)

def print_avg(self):
print(self.avg)


obj1 = Sample()
obj1.calc_add(2,3)
obj1.calc_avg(2,3)
obj1.print_sum()
obj1.print_avg()

who are you
یک شنبه 13 اردیبهشت 1394, 12:29 عصر
ساده تر توضیح میدید لطفا

serj1975
یک شنبه 13 اردیبهشت 1394, 15:43 عصر
در ادامه مثالی که آورده شده است:



obj2 = Sample()
obj3 = Sample()
obj4 = Sample()


چندین object از کلاس Sample ایجاد شده است.
self به object ایجاد شده اشاره میکند. یعنی بجای اینکه در کد کلاس که هنوز ازش object ای ایجاد نشده است و نمی دانم که چه object ای با چه نامی ایجاد خواهد شد، برای اشاره به object ای که ایجاد خواهد شده از self استفاده میشود (معادل آن this در C# میباشد)