بازگشت به دوره

آموزش رایگان صفر تا صد پایتون (Python) به زبان ساده

0% تکمیل‌شده
0/0 مرحله
  1. معرفی پایتون
  2. شروع کار با پایتون
  3. دستور زبان پایتون (Python Syntax)
  4. توضیح کامنت‌ها در پایتون
  5. متغیرها در پایتون
  6. نام‌های متغیر در پایتون
  7. معرفی متغیرها در پایتون و اختصاص چندین مقدار به آن‌ها
  8. معرفی متغیرها در خروجی با استفاده از پایتون
  9. متغیرهای سراسری (Global Variables) در پایتون
  10. انواع داده‌ها در پایتون
  11. انواع اعداد در پایتون
  12. تبدیل نوع داده در پایتون (Python Casting)
  13. رشته‌ها در پایتون (Python Strings)
  14. برش دادن رشته‌ها در پایتون (Python - Slicing Strings)
  15. تغییر رشته‌ها در پایتون
  16. ترکیب رشته‌ها در پایتون (String Concatenation)
  17. آشنایی با فرمت‌بندی رشته‌ها در پایتون
  18. کاراکترهای Escape در پایتون
  19. مقدمه‌ای بر بولی‌ها (Booleans) در پایتون
  20. عملگرها در پایتون
  21. لیست‌ها در پایتون
  22. دسترسی به آیتم‌های لیست در پایتون
  23. تغییر مقدار آیتم‌های لیست در پایتون
  24. افزودن آیتم به لیست در پایتون
  25. حذف آیتم‌ها از لیست در پایتون
  26. حلقه زدن در لیست‌ها در پایتون
  27. معرفی List Comprehension در پایتون
  28. مرتب‌سازی لیست‌ها در پایتون
  29. کپی کردن لیست‌ها در پایتون
  30. اتصال (Join) لیست‌ها در پایتون
  31. آشنایی با Tuple در پایتون
  32. دسترسی به آیتم‌های یک Tuple در پایتون
  33. بروزرسانی Tuple در پایتون
  34. باز کردن (Unpacking) Tuple در پایتون
  35. حلقه‌ها در Tupleها در پایتون
  36. آموزش ترکیب و تکرار تاپل‌ها در پایتون (Join Tuples)
  37. مجموعه‌ها (Set) در پایتون
  38. دسترسی به آیتم‌های مجموعه (Set) در پایتون
  39. افزودن آیتم به Set در پایتون
  40. حذف آیتم‌ها از Set در Python
  41. حلقه در مجموعه‌ها (Set) در پایتون
  42. روش‌های ترکیب مجموعه‌ها در پایتون (Join Sets)
  43. دیکشنری‌ها در پایتون
  44. دسترسی به آیتم‌های دیکشنری در پایتون
  45. تغییر مقادیر دیکشنری در پایتون
  46. اضافه کردن آیتم‌ها به دیکشنری در پایتون
  47. حذف آیتم‌ها از دیکشنری در پایتون
  48. استفاده از حلقه‌ها در دیکشنری‌ها در پایتون
  49. کپی کردن دیکشنری در پایتون
  50. دیکشنری‌های تو در تو در پایتون (Nested Dictionaries)
  51. شرط‌ها و دستور If در پایتون
  52. حلقه‌های while در پایتون
  53. حلقه‌های for در پایتون
  54. توابع در پایتون
  55. معرفی فانکشن‌های لامبدا در پایتون
  56. آرایه‌ها (Arrays) در پایتون
  57. کلاس‌ها و اشیا در پایتون
  58. وراثت (Inheritance) در پایتون
  59. ایتریتور (یکی یکی پیش رفتن) در پایتون
  60. چندریختی (Polymorphism) در پایتون
  61. محدوده (Scope) در پایتون
  62. ماژول در پایتون چیست؟
  63. کار با تاریخ در پایتون
  64. ریاضیات در پایتون
  65. JSON در پایتون به زبان ساده
  66. عبارات منظم (RegEx) در پایتون
  67. Python PIP
  68. معرفی Try-Except در پایتون
  69. ورودی کاربر در پایتون
  70. فرمت‌بندی رشته‌ها در پایتون

پایتون یک زبان برنامه‌نویسی شیءگرا (Object-Oriented) است. یعنی تقریباً همه چیز در پایتون یک شیء (Object) است که ویژگی‌ها (Properties) و متدهای (Methods) مخصوص به خودش را دارد.

کلاس چیست؟ 🏗️

کلاس (Class) مثل یک نقشه یا طرح اولیه است که برای ساختن اشیا از آن استفاده می‌کنیم. به عبارتی، کلاس مشخص می‌کند که یک شیء چه ویژگی‌هایی دارد و چگونه رفتار می‌کند.

ایجاد یک کلاس ✨

برای تعریف یک کلاس در پایتون، از کلمه کلیدی class استفاده می‌کنیم.

🔹 مثال: کلاس MyClass که یک ویژگی x دارد:

class MyClass:
x = 5

ایجاد یک شیء از کلاس 🏗️

بعد از تعریف کلاس، می‌توانیم از آن شیء (Object) بسازیم.

🔹 مثال: ساخت یک شیء از کلاس MyClass و چاپ مقدار x:

p1 = MyClass()
print(p1.x)  # خروجی: 5

تابع __init__() چیست؟ 🔄

در کلاس‌ها، یک تابع خاص به نام __init__() داریم که هر بار که یک شیء جدید ساخته می‌شود، به‌طور خودکار اجرا می‌شود. معمولاً برای مقداردهی اولیه به ویژگی‌های شیء از آن استفاده می‌کنیم.

🔹 مثال: کلاس Person که هنگام ایجاد شیء، مقدار name و age را دریافت می‌کند:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

p1 = Person("Ali", 30)
print(p1.name)  # خروجی: Ali
print(p1.age)   # خروجی: 30

📌 نکته: تابع __init__() به‌طور خودکار هنگام ایجاد شیء اجرا می‌شود.

تابع __str__() برای نمایش رشته‌ای 🖨️

اگر بخواهیم هنگام چاپ یک شیء، مقدار قابل‌فهمی نمایش داده شود، می‌توانیم تابع __str__() را تعریف کنیم.

🔹 مثال: نمایش نام و سن شخص هنگام چاپ شیء:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return f"{self.name} ({self.age})"

p1 = Person("Ali", 30)
print(p1)  # خروجی: Ali (30)

متدهای اشیا 🔧

کلاس‌ها می‌توانند متد (Method) داشته باشند که مانند توابعی هستند که به شیء متصل می‌شوند.

🔹 مثال: اضافه کردن یک متد برای نمایش پیام خوش‌آمدگویی:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self):
        print(f"سلام، من {self.name} هستم!")

p1 = Person("Ali", 30)
p1.greet()  # خروجی: سلام، من Ali هستم!

📌 نکته: self به همان شیء جاری اشاره دارد و برای دسترسی به ویژگی‌های شیء استفاده می‌شود.

تغییر ویژگی‌های شیء ✏️

بعد از ایجاد یک شیء، می‌توانیم ویژگی‌های آن را تغییر دهیم.

🔹 مثال: تغییر مقدار age:

p1.age = 35
print(p1.age)  # خروجی: 35

حذف ویژگی‌های شیء 🗑️

می‌توانیم با استفاده از del یک ویژگی را حذف کنیم.

🔹 مثال: حذف ویژگی age:

del p1.age

📌 اگر بعد از حذف ویژگی، بخواهید از آن استفاده کنید، برنامه خطا می‌دهد.

حذف کامل شیء ❌

با del می‌توانیم یک شیء را به‌طور کامل حذف کنیم.

🔹 مثال: حذف شیء p1:

del p1

📌 بعد از حذف شیء، دیگر نمی‌توان به آن دسترسی داشت.

دستور pass در کلاس‌ها 🚀

اگر بخواهیم یک کلاس تعریف کنیم اما هنوز محتوایی برای آن ننوشته‌ایم، می‌توانیم از pass استفاده کنیم تا برنامه خطا ندهد.

🔹 مثال:

class Person:
pass

تمرین‌ها 🎯

تمرین ۱: یک کلاس Car تعریف کنید که دارای ویژگی‌های brand و model باشد. سپس یک شیء از آن بسازید و مقدار ویژگی‌های آن را چاپ کنید.

تمرین ۲: متدی به کلاس Car اضافه کنید که اطلاعات ماشین را در قالب یک رشته چاپ کند.

تمرین ۳: ویژگی model یک شیء از کلاس Car را تغییر دهید و مقدار جدید را چاپ کنید.