سفارش تبلیغ
صبا ویژن

کپسوله سازی در پایتون

کپسوله سازی

امروز به یکی ازاصول مهم شی گرایی ، کپسوله سازی میپردازیم.

کپسوله سازی بسته ای از داده ها و توابع میباشد که روی آن داده ها در یک شی کار می کنند. با این کار میتوانیم وضعیت داخلی شی را از بیرون نهان کنیم. یک کلاس نمونه ای از کپسوله سازی است زیرا یک کلاس داده ها و متدها را در یک واحد جمع میکند و یک کلاس از طریق متدها دسترسی به ویژگی های خود را فراهم میکند.

در ادامه مثالی از کپسوله سازی را آورده ایم:

class Counter:
def __init__(self):
self.current = 0

def increment(self):
self.current += 1

def value(self):
return self.current

def reset(self):
self.current = 0

در کد زیر یک نمونه جدید از کلاس counter ایجاد میکنیم و متد increment را سه بار قبل از نمایش مقدار فعلی شمارنده در صفحه فراخوانی میکند:

counter = Counter()
counter.increment()
counter.increment()
counter.increment()
print(counter.value())

خروجی:

3

آموزش کپسوله سازی در پایتون را بطور کامل در سایت geeksforgeeks این میتونید مشاهده کنید.

مزایای کپسوله سازی در پایتون

  1. کپسوله سازی کدی به خوبی تعریف شده و قابل خواندن ارائه می دهد.
  2. از تغییر یا حذف تصادفی جلوگیری می کند.
  3. کپسوله سازی امنیت را فراهم می کند.

پایتون سه نوع اصلاح کننده دسترسی خصوصی، عمومی و محافظت شده را ارائه می دهد.

اعضای عمومی (در داخل و خارج از یک کلاس قابل دسترسی است)

اعضای خصوصی (در کلاس قابل دسترسی است)

اعضای محافظت شده (در کلاس و زیرکلاس هایش قابل دسترسی است)

نکته: همه متغیرهای عضو کلاس به طور پیش فرض عمومی هستند.

نکته: اعضای داده محافظت شده زمانی استفاده می شوند که وراثت را پیاده سازی می کنیم و می خواهیم به اعضای داده اجازه دهیم فقط به کلاس های فرزند دسترسی داشته باشند.

Getters و  Setters در پایتون

برای پیاده سازی کپسوله سازی مناسب در پایتون باید از  Setters و Getters استفاده کنیم. هدف اصلی استفاده از Setters و Getters در شی گرایی اطمینان از کپسوله سازی داده میباشد.

دوست عزیز امیدوارم محتوای این پست برای شما مفید و کاربردی باشد اگر قصد یادگیری بیشتر مبحث کپسوله سازی را دارید به ادامه مطلب مراجعه کنید.

 


آموزش وراثت در پایتون

تصویر مفهوم وارثت در پایتون

امروز قصد دارم به مبحث بسیارمهمی در زبان برنامه نویسی بپردازم. وراثت در پایتون را میخواهم توضیح دهم پس تا پایان مطالب همراه باشید. دوست عزیز همان طور که از مشخص است وراثت به معنی ارث بردن است یعنی یک کلاس از کلاس دیگر ویژگی هایی را به ارث ببرد. که این ارث بری مزایایی دارد:

  1. قابلیت استفاده مجدد از یک کد را فراهم میکند.
  2. به ما این امکان را میدهد تا ویژگی های بیشتری به یک کلاس بدون تغییر آن اضافه کنیم.
  3. ماهیت گذار است به صورتی که اگر کلاس b از کلاس a ارث میبرد .آنگاه تمام زیر کلاس های b به طور خودکار از کلاس a به ارث میبرند.

در ادامه قطعه کدی را آورده ایم که مثالی از وراثت در پایتون است:

class Person(object):

# Constructor
def __init__(self, name):
self.name = name

# To get name
def getName(self):
return self.name

# To check if this person is an employee
def isEmployee(self):
return False


# Inherited or Subclass (Note Person in bracket)
class Employee(Person):

# Here we return true
def isEmployee(self):
return True

# Driver code
emp = Person("Geek1") # An Object of Person
print(emp.getName(), emp.isEmployee())

emp = Employee("Geek2") # An Object of Employee
print(emp.getName(), emp.isEmployee())

خروجی:


Geek1 False

Geek2 True

 

وراثت اشکال مختلفی دارد:

  1. وراثت یگانه
  2. وراثت چندگانه
  3. وراثت چندسطحی
  4. وراثت سلسه مراتبی
  5. وراثت ترکیبی

یادگیری مباحث مربوط به شی گرایی و اجزای آن بسیار کاربردی میباشد و در برنامه نویسی به شما کمک میکند حرفه ای تر برنامه نویسی کنید پس سعی کنید این مباحث را کامل تر یادبگیرد برای یادگیری بیشتر یه آموزش رایگان براتون در نظر گرفته ایم ادامه مطلب...


چندریختی (polymorphism) در پایتون

چندریختی

چندریختی به این معنی است که کدها بتوانند در شرایط مختلف به شکل های مختلف پاسخ دهند. چند ریختی جایی کاربرد دارد که بخواهیم بصورت generic کد بنویسیم یعنی یک قطعه کد خاص بنویسیم که با انواع متفاوت کار کند. به تعریف دیگر چند ریختی به ما این امکان را میدهد تا متدهایی در کلاس فرزند با همان نامی که در کلاس والد آنها تعریف شده تعریف کنیم.

در ادامه مثالی از چند ریختی در پایتون آورده ایم که به درک موضوع استفاده دو نوع کلاس مختلف به یک شکل کمک میکند.

 

class India():
def capital(self):
print("Seoul is the capital of South Korea.")

def language(self):
print("Hindi is the most common language of India.")

def type(self):
print("India is a developing country.")

class USA():
def capital(self):
print("Tehran is capital of Iran.")

def language(self):
print("Persian is the main language of Iran.")

def type(self):
print("Iran is in the Middle East.")

obj_ind = India()
obj_usa = USA()
for country in (obj_ind, obj_usa):
country.capital()
country.language()
country.type()

 

که خروجی به این صورت میباشد:

Seoul is the capital of South Korea.

Hindi is the most common language of India.

India is a developing country.

Tehran is capital of Iran.

Persian is the main language of Iran.

Iran is in the Middle East.

 

روشهای مختلفی برای استفاده از چندریختی در پایتون وجود دارد. برای تعریف چندریختی میتوانید از تابع، متدهای کلاس یا اشیا مختلف استفاده کنید.

  1. چندریختی با تابع و اشیا (به این صورت که تابعی را ایجاد میکنیم تا بتواند هر شی را بگیرد و امکان چندریختی را فراهم کند).
  2. چندریختی با متدهای کلاس (پایتون از دو نوع کلاس مختلف به طور یکسان استفاده می کند).
  3. چندریختی با وراثت (چندریختی در پایتون متدهایی را در کلاس فرزند تعریف می کند که هم نام متدهای کلاس والد هستند).

دوست عزیز امیدوارم مطالب این پست برایتان مفید بوده باشد اگر قصد یادگیری اصولی مبحث چندریختی رو دارید به آموزش چندریختی در پایتون وبسایت درسمن مراجعه کنید.


معرفی لیست ها در پایتون

لیست ها 

در جلسه قبل به کاربرد رشته ها د رپایتون پرداختیم و در این جلسه قصد داریم به کاربرد لیست ها و توابع لیست ها بپردازیم.

لیست یک مجموعه از اطلاعات است که قابل تغییر و مرتب کردن است.

در زبان پایتون 4 نوع داده کالکشن collection داریم :

  1. List
  2. Tuple
  3. Set
  4. Dictionary

که لیست list یکی از پرکاربردترین آن هاست. بقیه کالکشن ها را در پست های بعدی توضیح خواهیم داد.

لیست ها با علامت براکت [] تعریف میشود و عناصر درون براکت با علامت ، از هم جدا میشوند.لیست ها میتوانند هر تعدادی عنصر داشته باشند، و هر عنصر میتواند دارای نوع داده متفاوت باشند.

ساختار تعریف لیست:

thislist=[“apple”,”cherry”,”banana”]

print (thislist)

خروجی برنامه:

[‘apple’,’cherry’,’banana’]

در پایتون امکان ساخت لیست خالی وجود دارد. حتی یک لیست میتواند شامل یک لیست دیگر باشد. که به این روش لیست تو در تو گفته می شود. در ادامه یک نمونه لیست تو در تو را آورده ایم.

my_list=[“darsmancom”,[3,4,5],[‘M’]]

 در این لیست darsmancom یک رشته است. و [‘M’] و [3,4,5] دو لیست مجزا هستند.

توابع کار با لیست ها

در پایتون توابعی که از قبل ساخته شده است وجود دارد که میتوانید بر روی لیست ها این توابع را اعمال کنید.

توضیحات

متد

یک عنصر به انتهای لیست اضافه میکند.

append()

تمام عناصر را از لیست حذف می کند.

clear()

یک کپی از لیست برمی گرداند.

copy()

تعداد یک عنصر مشخص در لیست را بر می گرداند.

count()

عنصرهای یک لیست دیگر را به لیست جاری اضافه می کند.

extend()

اندیس یک عنصر مشخص را برمی گرداند.

index()

یک عنصر را در موقعیت مشخص اضافه می کند.

insert()

یک عنصر را با موقعیت مشخص حذف میکند.

pop()

یک عنصر را با مقدار مشخص حذف میکند.

remove()

مرتب سازی و جایگاه عناصر لیست را معکوس میکند.

reverse()

لیست را مرتب میکند.

sort()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ندیس لیست از صفر تا یکی کمتر میباشد مثلا اگر ما 5 عنصر تعریف کرده باشیم شماره اندیس از صفر تا 4 میباشد. و اگر عددی بزرگتر از 4 وارد کنیم با خطا مواجه میشویم.

در وبسایت درسمن یک  درس با موضوع معرفی و کار با لیست هامنتشر شده است میتوانید جهت یادگیری بیشتر این آموزش را ببینید.


رشته ها در پایتون

رشته ها 

در زبان های برنامه نویسی رشته ها نوع داده ای میباشد که بیشتر با آن سرو کار داریم. در پایتون مانند بسیاری از زبان ها یک رشته با علامت کوتیشن ("") مشخص میشود. البته دو نوع علامت هنگام استفاده از یک رشته وجود دارد:

  1. تک کوتیشن مانند:    ‘ hello Amir ’
  2. دابل کوتیشن مانند:   " hello Amir "

که این دو نوع تفاوتی با هم ندارند. رشته ها مانند لیستی از کاراکترها می ماند، که هر کاراکتر داری اندیس میباشد و شماره اندیس از 0 (صفر) شروع میشود یعنی شماره اولین خانه از لیست صفر است. و تمامی ویژگیها و کارهایی که با یه لیست میتوان انجام داد را نیز میتوان با رشته هم انجام داد.

قبلا هم نیز گفته ایم برای چاپ رشته ها از دستور print() استفاده میکنیم.  یادگیری بیشتر درمورددستور print

اگر خواستید رشته ی چندخطی تولید کنید کافیست در ابتدا و انتهای  رشته از علامت یا سه بار استفاده کنیم. مانند نمونه:

Str=””” Hello Amir

Hello Zahra

Hello Sara”””

برای بازگرداندن مقدار خانه ای از رشته میتوان به صورت زیر این عمل را انجام داد.

"str = "darsmancom

print (str [3])

خروجی برنامه: مقدار s را برمیگرداند. به این صورت که خانه ای که اندیس آن 3 است را به مانمایش میدهد و چون شماره اندیس از صفر شروع میشود پس مقدار s را برمی گرداند. اگر بخواهیم آخرین کاراکتر از رشته را چاپ کنیم اندیس 1-  را را در بلاک قرار میدهیم.

اگر شماره اندیس ای که ذکر میشود خارج از محدوده ی رشته باشد برنامه خطا میدهد. اندیس باید یک عدد صحیح باشد.

توابع رشته

Len (): رشته را به عنوان ورودی گرفته و اندازه ی آن را به ما می دهد.

str (): ورودی خود را تبدیل به رشته میکند و خروجی می دهد.

+: برای اتصال دو رشته استفاده می شود.

=: برای بررسی برابر بودن دو رشته استفاده می شود.

ممنون که تا انتهای این پست همراه ما بودید برای یادگیری پایتون میتوانید دوره معرفی رشته در پایتون درسمن را مشاهده کنید.