آموزش رایگان صفر تا صد پایتون (Python) به زبان ساده
-
معرفی پایتون
-
شروع کار با پایتون
-
دستور زبان پایتون (Python Syntax)
-
توضیح کامنتها در پایتون
-
متغیرها در پایتون
-
نامهای متغیر در پایتون
-
معرفی متغیرها در پایتون و اختصاص چندین مقدار به آنها
-
معرفی متغیرها در خروجی با استفاده از پایتون
-
متغیرهای سراسری (Global Variables) در پایتون
-
انواع دادهها در پایتون
-
انواع اعداد در پایتون
-
تبدیل نوع داده در پایتون (Python Casting)
-
رشتهها در پایتون (Python Strings)
-
برش دادن رشتهها در پایتون (Python - Slicing Strings)
-
تغییر رشتهها در پایتون
-
ترکیب رشتهها در پایتون (String Concatenation)
-
آشنایی با فرمتبندی رشتهها در پایتون
-
کاراکترهای Escape در پایتون
-
مقدمهای بر بولیها (Booleans) در پایتون
-
عملگرها در پایتون
-
لیستها در پایتون
-
دسترسی به آیتمهای لیست در پایتون
-
تغییر مقدار آیتمهای لیست در پایتون
-
افزودن آیتم به لیست در پایتون
-
حذف آیتمها از لیست در پایتون
-
حلقه زدن در لیستها در پایتون
-
معرفی List Comprehension در پایتون
-
مرتبسازی لیستها در پایتون
-
کپی کردن لیستها در پایتون
-
اتصال (Join) لیستها در پایتون
-
آشنایی با Tuple در پایتون
-
دسترسی به آیتمهای یک Tuple در پایتون
-
بروزرسانی Tuple در پایتون
-
باز کردن (Unpacking) Tuple در پایتون
-
حلقهها در Tupleها در پایتون
-
آموزش ترکیب و تکرار تاپلها در پایتون (Join Tuples)
-
مجموعهها (Set) در پایتون
-
دسترسی به آیتمهای مجموعه (Set) در پایتون
-
افزودن آیتم به Set در پایتون
-
حذف آیتمها از Set در Python
-
حلقه در مجموعهها (Set) در پایتون
-
روشهای ترکیب مجموعهها در پایتون (Join Sets)
-
دیکشنریها در پایتون
-
دسترسی به آیتمهای دیکشنری در پایتون
-
تغییر مقادیر دیکشنری در پایتون
-
اضافه کردن آیتمها به دیکشنری در پایتون
-
حذف آیتمها از دیکشنری در پایتون
-
استفاده از حلقهها در دیکشنریها در پایتون
-
کپی کردن دیکشنری در پایتون
-
دیکشنریهای تو در تو در پایتون (Nested Dictionaries)
-
شرطها و دستور If در پایتون
-
حلقههای while در پایتون
-
حلقههای for در پایتون
-
توابع در پایتون
-
معرفی فانکشنهای لامبدا در پایتون
-
آرایهها (Arrays) در پایتون
-
کلاسها و اشیا در پایتون
-
وراثت (Inheritance) در پایتون
-
ایتریتور (یکی یکی پیش رفتن) در پایتون
-
چندریختی (Polymorphism) در پایتون
-
محدوده (Scope) در پایتون
-
ماژول در پایتون چیست؟
-
کار با تاریخ در پایتون
-
ریاضیات در پایتون
-
JSON در پایتون به زبان ساده
-
عبارات منظم (RegEx) در پایتون
-
Python PIP
-
معرفی Try-Except در پایتون
-
ورودی کاربر در پایتون
-
فرمتبندی رشتهها در پایتون
کلاسها و اشیا در پایتون
پایتون یک زبان برنامهنویسی شیءگرا (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
را تغییر دهید و مقدار جدید را چاپ کنید.