برترین موضوعات درسمن

برترین موضوعات درسمن

۱۶ مطلب در خرداد ۱۴۰۱ ثبت شده است

چهارشنبه, ۱۱ خرداد ۱۴۰۱، ۱۰:۱۲ ق.ظ

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

لیست

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

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

برای تعریف لیست از براکت [] استفاده می شود. و عنصر ها با کاما (,) از یکدیگر جدا میشوند. مانند نمونه:

Lst=[ “Ali” , 20 , 19.75 , ”Ahmadi” ]

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

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

برای دسترسی به عناصر لیست با داشتن اندیس عنصر مانند نمونه دسترسی خواهیم داشت.

Lis[4]

نکته: مقدار اندیس از نوع عددی صحیح است.

شماره اندیس لیست ها از 0 شروع میشود و تا آخرین عنصر که یکی کمتر است مثال اگر 10 عنصر داشته باشیم اندیس اول صفر و اندیس آخر 9 میباشد. در ادامه مثالی را حل میکنیم که به درک این موضوع به شما کمک می کند.

لیست زیر را در نظر بگیرید.

Lst=[“sina”,”ali”,”javad”,”omid”]
Print(lst[-1])

خروجی:

Omid

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

Lst=[‘s’,’g’,’y’,’k’,’r’,’d’,’n’,’b’,’h’]
Print(lst[3:7])

خروجی:

[‘k’,’r’,’d’,’n’]

نکته: دقت کنید وقتی بازه به صورت i:j تعریف میشود شامل عنصر i تا عنصر j-1 می باشد و عنصر j در فراخوانی آورده نمیشود.

تاپل

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

نکته: تاپل می تواند به تعداد نامحدودی مقدار نگهداری کند.

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

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

my_tuple = (190, "Ali", 7,18.65, "Ahmadi")

برای دسترسی به عناصر تاپل مانند لیست ها از اندیس استفاده میکنیم. مانند نمونه:

my_tuple = (“sina”,”ali”,”javad”,”omid”,”reza”,”karim”(
print(my_tuple[2])

خروجی

javad

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

۰ نظر موافقین ۰ مخالفین ۰ ۱۱ خرداد ۰۱ ، ۱۰:۱۲
فاطمه موحدی
دوشنبه, ۹ خرداد ۱۴۰۱، ۰۲:۰۳ ب.ظ

آشنایی با مفاهیم شی گرایی در پایتون

مفاهیم شی گرایی

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

  1. اصل اول کپسوله سازی (Encapsulation):

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

  1. اصل دوم انتزاع (Abstraction):

انتزاع و کپسوله سازی مکمل هستند. به طوری که انتزاع به نحوه ارائه یک شی و رفتار آن به کاربر مربوط می شود و کپسوله سازی روشی است که به ایجاد آن تجربه کمک می کند. انتزاع، مدیریت پیچیدگی با پنهان کردن جزئیات غیر ضروری از کاربر است.در انتزاع با توجه به نیازمان فقط مواردی که میخواهیم قابل مشاهده باشد را بیان می کنیم و مواردی که از نظر ما مهم است و نباید قابل مشاهده باشد را ذکر نکرده تا پنهان بماند.

 

  1. اصل سوم وراثت (Inheritance):

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

 

  1. اصل چهارم چندریختی (polymorphism):

چندریختی به معنی داشتن شکل های مختلف است. چندریختی به دو صورت پیاده سازی میشود. 1- استفاده از متدهایی که هم نام هستند ولی پارامترهای ورودیشون در تعداد، نوع و ترتیب متفاوت است. 2- بازنویسی متدی از کلاس اصلی در کلاس هایی که ازش ارث بردن.

 

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

۰ نظر موافقین ۰ مخالفین ۰ ۰۹ خرداد ۰۱ ، ۱۴:۰۳
فاطمه موحدی
يكشنبه, ۸ خرداد ۱۴۰۱، ۱۲:۳۰ ب.ظ

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

شی گرایی 

برنامه نویسی شی گرا یک نمونه برنامه نویسی است که بر مفهوم کلاس ها و اشیا تکیه دارد.این روش در بسیاری از زبان های برنامه نویسی استفاده میشود مثل: سی شارپ ، جاوا، پایتون و...

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

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

  1. کپسوله سازی (Encapsulation)
  2. انتزاع (Abstraction)
  3. وراثت (Inheritance)
  4. چندریختی (polymorphism)

کلاس چیست؟

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

شی چیست؟

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

اجزای کلاس در برنامه نویسی شی گرا:

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

 

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

۰ نظر موافقین ۰ مخالفین ۰ ۰۸ خرداد ۰۱ ، ۱۲:۳۰
فاطمه موحدی
شنبه, ۷ خرداد ۱۴۰۱، ۱۱:۲۱ ق.ظ

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

کپسوله سازی

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

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

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

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. چندریختی با وراثت (چندریختی در پایتون متدهایی را در کلاس فرزند تعریف می کند که هم نام متدهای کلاس والد هستند).

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

۰ نظر موافقین ۰ مخالفین ۰ ۰۴ خرداد ۰۱ ، ۱۰:۵۹
فاطمه موحدی