مرور سریع بخش‌های پایتون: با چیت شیت جامع ما

فهرست مطالب

“`html

مرور سریع بخش‌های پایتون: با چیت شیت جامع ما

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

1. انواع داده‌ها در پایتون

در پایتون، انواع داده‌ها (Data Types) نقش مهمی در نحوه ذخیره و دستکاری اطلاعات ایفا می‌کنند. درک انواع داده‌های اصلی به شما کمک می‌کند تا کدهای بهینه‌تر و خواناتری بنویسید. در اینجا به بررسی انواع داده‌های پرکاربرد در پایتون می‌پردازیم:

1.1. انواع داده‌های عددی

  • int (عدد صحیح): برای نمایش اعداد صحیح بدون اعشار استفاده می‌شود. مثال: x = 10
  • float (عدد اعشاری): برای نمایش اعداد با اعشار استفاده می‌شود. مثال: y = 3.14
  • complex (عدد مختلط): برای نمایش اعداد مختلط با بخش‌های حقیقی و موهومی استفاده می‌شود. مثال: z = 2 + 3j

1.2. نوع داده رشته‌ای (String)

رشته‌ها برای نمایش متن استفاده می‌شوند. رشته‌ها در پایتون غیرقابل تغییر (Immutable) هستند، به این معنی که پس از ایجاد، نمی‌توان محتوای آن‌ها را تغییر داد. برای تعریف رشته‌ها می‌توان از علامت‌های نقل قول تکی (')، دوتایی (") یا سه‌گانه (''' یا """) استفاده کرد. علامت‌های نقل قول سه‌گانه برای رشته‌های چند خطی مناسب هستند. مثال:

name = "John Doe"
 message = 'Hello, world!'
 multi_line_string = """This is a
 multi-line string."""

عملیات رایج روی رشته‌ها:

  • الحاق (Concatenation): برای اتصال دو یا چند رشته به یکدیگر از عملگر + استفاده می‌شود. مثال: full_name = "John" + " " + "Doe"
  • برش (Slicing): برای استخراج بخشی از یک رشته از عملگر [:] استفاده می‌شود. مثال: substring = name[0:4]
  • طول رشته (Length): برای بدست آوردن طول یک رشته از تابع len() استفاده می‌شود. مثال: length = len(name)
  • تبدیل به حروف بزرگ/کوچک: از متدهای upper() و lower() برای تبدیل رشته به حروف بزرگ یا کوچک استفاده می‌شود. مثال: uppercase_name = name.upper()

1.3. انواع داده‌های ترتیبی

  • list (لیست): یک مجموعه مرتب و قابل تغییر از آیتم‌ها است. لیست‌ها می‌توانند شامل آیتم‌هایی با انواع داده‌های مختلف باشند. مثال: my_list = [1, "hello", 3.14]
  • tuple (تاپل): یک مجموعه مرتب و غیرقابل تغییر از آیتم‌ها است. تاپل‌ها شبیه به لیست‌ها هستند، اما نمی‌توان محتوای آن‌ها را پس از ایجاد تغییر داد. مثال: my_tuple = (1, "hello", 3.14)
  • range (رنج): یک دنباله از اعداد صحیح است که معمولاً برای تکرار در حلقه‌ها استفاده می‌شود. مثال: my_range = range(5)

1.4. نوع داده مجموعه (Set)

مجموعه یک مجموعه نامرتب و بدون تکرار از آیتم‌ها است. مجموعه‌ها برای حذف آیتم‌های تکراری و انجام عملیات مجموعه (مانند اجتماع، اشتراک و تفاضل) مفید هستند. مثال:

my_set = {1, 2, 3, 3, 4}  # {1, 2, 3, 4}
 

1.5. نوع داده دیکشنری (Dictionary)

دیکشنری یک مجموعه نامرتب از جفت‌های کلید-مقدار است. کلیدها باید منحصربه‌فرد و غیرقابل تغییر باشند (مانند رشته‌ها و اعداد)، در حالی که مقادیر می‌توانند از هر نوع داده‌ای باشند. دیکشنری‌ها برای ذخیره و بازیابی اطلاعات بر اساس کلیدها بسیار کارآمد هستند. مثال:

my_dict = {"name": "John", "age": 30, "city": "New York"}
 

عملیات رایج روی دیکشنری‌ها:

  • دسترسی به مقدار: برای دسترسی به مقدار مربوط به یک کلید از عملگر [] استفاده می‌شود. مثال: name = my_dict["name"]
  • اضافه کردن/تغییر مقدار: برای اضافه کردن یک جفت کلید-مقدار جدید یا تغییر مقدار یک کلید موجود از عملگر [] استفاده می‌شود. مثال: my_dict["occupation"] = "Engineer"
  • حذف جفت کلید-مقدار: از دستور del برای حذف یک جفت کلید-مقدار استفاده می‌شود. مثال: del my_dict["age"]
  • بررسی وجود کلید: از عملگر in برای بررسی وجود یک کلید در دیکشنری استفاده می‌شود. مثال: if "name" in my_dict: ...

1.6. نوع داده بولی (Boolean)

نوع داده بولی فقط دو مقدار دارد: True (درست) و False (غلط). از مقادیر بولی برای نمایش شرایط منطقی و کنترل جریان برنامه استفاده می‌شود. مثال:

is_valid = True
 is_empty = False
 

2. عملگرها در پایتون

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

2.1. عملگرهای محاسباتی

  • + (جمع): برای جمع دو عدد استفاده می‌شود. مثال: x + y
  • – (تفریق): برای تفریق دو عدد استفاده می‌شود. مثال: x - y
  • * (ضرب): برای ضرب دو عدد استفاده می‌شود. مثال: x * y
  • / (تقسیم): برای تقسیم دو عدد استفاده می‌شود. مثال: x / y
  • // (تقسیم صحیح): برای تقسیم دو عدد و بدست آوردن خارج قسمت صحیح استفاده می‌شود. مثال: x // y
  • % (باقی‌مانده): برای بدست آوردن باقی‌مانده تقسیم دو عدد استفاده می‌شود. مثال: x % y
  • ** (توان): برای محاسبه توان یک عدد استفاده می‌شود. مثال: x ** y

2.2. عملگرهای مقایسه‌ای

  • == (برابر): برای بررسی برابر بودن دو مقدار استفاده می‌شود. مثال: x == y
  • != (نامساوی): برای بررسی نامساوی بودن دو مقدار استفاده می‌شود. مثال: x != y
  • > (بزرگتر): برای بررسی بزرگتر بودن یک مقدار از مقدار دیگر استفاده می‌شود. مثال: x > y
  • < (کوچکتر): برای بررسی کوچکتر بودن یک مقدار از مقدار دیگر استفاده می‌شود. مثال: x < y
  • >= (بزرگتر یا مساوی): برای بررسی بزرگتر یا مساوی بودن یک مقدار از مقدار دیگر استفاده می‌شود. مثال: x >= y
  • <= (کوچکتر یا مساوی): برای بررسی کوچکتر یا مساوی بودن یک مقدار از مقدار دیگر استفاده می‌شود. مثال: x <= y

2.3. عملگرهای منطقی

  • and (و): اگر هر دو عملوند درست باشند، مقدار True را برمی‌گرداند. مثال: x and y
  • or (یا): اگر حداقل یکی از عملوندها درست باشد، مقدار True را برمی‌گرداند. مثال: x or y
  • not (نقیض): مقدار یک عملوند را معکوس می‌کند. مثال: not x

2.4. عملگرهای انتساب

  • = (انتساب): برای انتساب یک مقدار به یک متغیر استفاده می‌شود. مثال: x = 10
  • += (جمع و انتساب): مقدار یک متغیر را با یک مقدار دیگر جمع می‌کند و نتیجه را به متغیر انتساب می‌دهد. مثال: x += 5 (معادل x = x + 5)
  • -= (تفریق و انتساب): مقدار یک متغیر را از یک مقدار دیگر تفریق می‌کند و نتیجه را به متغیر انتساب می‌دهد. مثال: x -= 5 (معادل x = x - 5)
  • *= (ضرب و انتساب): مقدار یک متغیر را در یک مقدار دیگر ضرب می‌کند و نتیجه را به متغیر انتساب می‌دهد. مثال: x *= 5 (معادل x = x * 5)
  • /= (تقسیم و انتساب): مقدار یک متغیر را بر یک مقدار دیگر تقسیم می‌کند و نتیجه را به متغیر انتساب می‌دهد. مثال: x /= 5 (معادل x = x / 5)
  • %= (باقی‌مانده و انتساب): باقی‌مانده تقسیم یک متغیر بر یک مقدار دیگر را محاسبه می‌کند و نتیجه را به متغیر انتساب می‌دهد. مثال: x %= 5 (معادل x = x % 5)
  • //= (تقسیم صحیح و انتساب): تقسیم صحیح یک متغیر بر یک مقدار دیگر را محاسبه می‌کند و نتیجه را به متغیر انتساب می‌دهد. مثال: x //= 5 (معادل x = x // 5)
  • **= (توان و انتساب): توان یک متغیر را محاسبه می‌کند و نتیجه را به متغیر انتساب می‌دهد. مثال: x **= 5 (معادل x = x ** 5)

2.5. عملگرهای عضویت

  • in (عضویت): برای بررسی وجود یک مقدار در یک دنباله (مانند لیست، تاپل یا رشته) استفاده می‌شود. مثال: x in my_list
  • not in (عدم عضویت): برای بررسی عدم وجود یک مقدار در یک دنباله استفاده می‌شود. مثال: x not in my_list

2.6. عملگرهای هویت

  • is (هویت): برای بررسی اینکه آیا دو متغیر به یک شیء در حافظه اشاره می‌کنند یا خیر استفاده می‌شود. مثال: x is y
  • is not (عدم هویت): برای بررسی اینکه آیا دو متغیر به اشیاء متفاوتی در حافظه اشاره می‌کنند یا خیر استفاده می‌شود. مثال: x is not y

3. ساختارهای کنترلی در پایتون

ساختارهای کنترلی (Control Structures) به شما امکان می‌دهند جریان اجرای برنامه را کنترل کنید و بر اساس شرایط مختلف، دستورات متفاوتی را اجرا کنید. پایتون از ساختارهای کنترلی مختلفی مانند if، else، elif، for و while پشتیبانی می‌کند.

3.1. دستور if

دستور if برای اجرای یک بلوک کد در صورتی که یک شرط خاص درست باشد استفاده می‌شود. شکل کلی دستور if به صورت زیر است:

if condition:
  # Code to be executed if condition is True
 

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

age = 25
 if age >= 18:
  print("You are an adult.")
 

3.2. دستور else

دستور else برای اجرای یک بلوک کد در صورتی که شرط دستور if نادرست باشد استفاده می‌شود. دستور else همیشه بعد از دستور if می‌آید. مثال:

age = 15
 if age >= 18:
  print("You are an adult.")
 else:
  print("You are not an adult.")
 

3.3. دستور elif

دستور elif (مخفف "else if") برای بررسی چندین شرط به صورت متوالی استفاده می‌شود. اگر شرط دستور if نادرست باشد، شرط دستور elif بررسی می‌شود. اگر شرط دستور elif درست باشد، بلوک کد مربوط به آن اجرا می‌شود. می‌توانید از چندین دستور elif برای بررسی شرایط مختلف استفاده کنید. مثال:

score = 85
 if score >= 90:
  print("Excellent!")
 elif score >= 80:
  print("Very good!")
 elif score >= 70:
  print("Good.")
 else:
  print("Needs improvement.")
 

3.4. حلقه for

حلقه for برای تکرار روی یک دنباله (مانند لیست، تاپل یا رشته) استفاده می‌شود. در هر تکرار، یک آیتم از دنباله به متغیر حلقه اختصاص داده می‌شود و بلوک کد داخل حلقه اجرا می‌شود. شکل کلی حلقه for به صورت زیر است:

for item in sequence:
  # Code to be executed for each item
 

مثال:

my_list = [1, 2, 3, 4, 5]
 for number in my_list:
  print(number)
 

همچنین می‌توانید از تابع range() برای ایجاد یک دنباله از اعداد صحیح و تکرار روی آن استفاده کنید:

for i in range(5):
  print(i)  # Prints 0, 1, 2, 3, 4
 

3.5. حلقه while

حلقه while برای تکرار یک بلوک کد در صورتی که یک شرط خاص درست باشد استفاده می‌شود. حلقه while تا زمانی که شرط درست باشد به اجرای خود ادامه می‌دهد. شکل کلی حلقه while به صورت زیر است:

while condition:
  # Code to be executed while condition is True
 

مثال:

count = 0
 while count < 5:
  print(count)
  count += 1
 

3.6. دستور break

دستور break برای خروج از یک حلقه (for یا while) استفاده می‌شود. هنگامی که دستور break اجرا می‌شود، اجرای حلقه متوقف می‌شود و کنترل به اولین دستور بعد از حلقه منتقل می‌شود. مثال:

my_list = [1, 2, 3, 4, 5]
 for number in my_list:
  if number == 3:
  break
  print(number)  # Prints 1, 2
 

3.7. دستور continue

دستور continue برای پرش از یک تکرار در یک حلقه (for یا while) استفاده می‌شود. هنگامی که دستور continue اجرا می‌شود، اجرای بلوک کد باقی‌مانده در تکرار فعلی متوقف می‌شود و حلقه به تکرار بعدی می‌رود. مثال:

my_list = [1, 2, 3, 4, 5]
 for number in my_list:
  if number == 3:
  continue
  print(number)  # Prints 1, 2, 4, 5
 

4. توابع در پایتون

توابع (Functions) بلوک‌های کد سازمان‌یافته و قابل استفاده مجدد هستند که برای انجام وظایف خاصی طراحی شده‌اند. توابع به شما کمک می‌کنند تا کدهای خود را سازماندهی کنید، خوانایی را بهبود بخشید و از تکرار کد جلوگیری کنید. در پایتون، می‌توانید توابع خود را تعریف کنید یا از توابع از پیش تعریف شده (built-in) استفاده کنید.

4.1. تعریف تابع

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

def function_name(parameters):
  # Function body (code to be executed)
  return value
 

در اینجا:

  • function_name نام تابع است.
  • parameters لیستی از پارامترهای ورودی است که تابع می‌پذیرد (اختیاری).
  • # Function body کدی است که هنگام فراخوانی تابع اجرا می‌شود.
  • return value مقدار خروجی تابع است (اختیاری).

مثال:

def add_numbers(x, y):
  """This function adds two numbers and returns the sum."""
  sum = x + y
  return sum
 

4.2. فراخوانی تابع

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

result = add_numbers(5, 3)
 print(result)  # Prints 8
 

4.3. پارامترهای پیش‌فرض

می‌توانید برای پارامترهای یک تابع مقادیر پیش‌فرض تعیین کنید. اگر هنگام فراخوانی تابع، مقداری برای یک پارامتر با مقدار پیش‌فرض ارائه نشود، از مقدار پیش‌فرض استفاده می‌شود. مثال:

def greet(name="Guest"):
  print("Hello, " + name + "!")

 greet()  # Prints "Hello, Guest!"
 greet("John")  # Prints "Hello, John!"
 

4.4. توابع Lambda

توابع Lambda توابع بی‌نام و تک‌خطی هستند که می‌توانند به صورت درون‌خطی تعریف شوند. توابع Lambda معمولاً برای عملیات ساده و کوتاه استفاده می‌شوند. برای تعریف یک تابع Lambda از کلمه کلیدی lambda استفاده می‌شود. شکل کلی تعریف تابع Lambda به صورت زیر است:

lambda arguments: expression
 

مثال:

square = lambda x: x * x
 print(square(5))  # Prints 25

 add = lambda x, y: x + y
 print(add(3, 2)) # Prints 5
 

5. مدیریت خطا (Exception Handling)

مدیریت خطا (Exception Handling) یک مکانیزم مهم در برنامه‌نویسی است که به شما امکان می‌دهد خطاهای احتمالی در طول اجرای برنامه را شناسایی و مدیریت کنید. در پایتون، از ساختار try-except برای مدیریت خطاها استفاده می‌شود.

5.1. ساختار try-except

بلوک try شامل کدی است که ممکن است باعث ایجاد خطا شود. اگر در طول اجرای بلوک try خطایی رخ دهد، اجرای بلوک try متوقف می‌شود و کنترل به بلوک except منتقل می‌شود. بلوک except شامل کدی است که برای مدیریت خطا اجرا می‌شود. شکل کلی ساختار try-except به صورت زیر است:

try:
  # Code that might raise an exception
 except ExceptionType as e:
  # Code to handle the exception
 

در اینجا:

  • ExceptionType نوع خطایی است که می‌خواهید مدیریت کنید.
  • e یک متغیر است که به شیء خطا اختصاص داده می‌شود و اطلاعات مربوط به خطا را در خود نگه می‌دارد.

مثال:

try:
  result = 10 / 0
 except ZeroDivisionError as e:
  print("Error: Division by zero!")
  print(e)
 

5.2. بلوک finally

بلوک finally یک بلوک اختیاری است که بعد از بلوک‌های try و except می‌آید. کد موجود در بلوک finally صرف نظر از اینکه خطایی رخ داده باشد یا خیر، همیشه اجرا می‌شود. بلوک finally معمولاً برای انجام کارهای تمیزکاری مانند بستن فایل‌ها یا آزاد کردن منابع استفاده می‌شود. مثال:

try:
  f = open("my_file.txt", "r")
  # Code to read from the file
 except FileNotFoundError:
  print("Error: File not found!")
 finally:
  f.close()  # Always close the file
 

5.3. ایجاد خطای سفارشی (Raising Exceptions)

شما می‌توانید با استفاده از دستور raise خطاهای سفارشی ایجاد کنید. این کار به شما امکان می‌دهد شرایط خاصی را که به عنوان خطا در نظر می‌گیرید، شناسایی و مدیریت کنید. مثال:

def validate_age(age):
  if age < 0:
  raise ValueError("Age cannot be negative.")
  elif age > 120:
  raise ValueError("Age is unrealistic.")
  else:
  print("Age is valid.")

 try:
  validate_age(-5)
 except ValueError as e:
  print(e)  # Prints "Age cannot be negative."
 

6. ماژول‌ها و پکیج‌ها در پایتون

ماژول‌ها (Modules) و پکیج‌ها (Packages) ابزارهایی قدرتمند در پایتون هستند که به شما کمک می‌کنند کدهای خود را سازماندهی کنید، از کدنویسی مجدد جلوگیری کنید و از کدهای نوشته شده توسط دیگران استفاده کنید. ماژول‌ها فایل‌های پایتون هستند که شامل تعاریف توابع، کلاس‌ها و متغیرها هستند. پکیج‌ها مجموعه‌هایی از ماژول‌ها هستند که در یک ساختار دایرکتوری سازماندهی شده‌اند.

6.1. وارد کردن ماژول‌ها

برای استفاده از توابع و کلاس‌های موجود در یک ماژول، ابتدا باید آن را وارد کنید. برای وارد کردن یک ماژول از دستور import استفاده می‌شود. مثال:

import math

 print(math.sqrt(16))  # Prints 4.0
 

همچنین می‌توانید با استفاده از دستور from فقط توابع یا کلاس‌های خاصی را از یک ماژول وارد کنید. مثال:

from math import sqrt

 print(sqrt(25))  # Prints 5.0
 

می‌توانید برای ماژول‌ها نام مستعار (alias) تعیین کنید تا دسترسی به آن‌ها آسان‌تر شود. مثال:

import math as m

 print(m.pi)  # Prints 3.141592653589793
 

6.2. نصب پکیج‌ها با pip

pip یک مدیر پکیج (package manager) است که برای نصب و مدیریت پکیج‌های پایتون استفاده می‌شود. با استفاده از pip می‌توانید به راحتی پکیج‌های مورد نیاز خود را از PyPI (Python Package Index)، مخزن رسمی پکیج‌های پایتون، دانلود و نصب کنید. برای نصب یک پکیج از دستور pip install استفاده می‌شود. مثال:

pip install requests
 

برای مشاهده لیست پکیج‌های نصب شده از دستور pip list استفاده می‌شود. مثال:

pip list
 

6.3. ایجاد پکیج

برای ایجاد یک پکیج، ابتدا باید یک دایرکتوری با نام پکیج ایجاد کنید. سپس، یک فایل __init__.py در دایرکتوری پکیج قرار دهید. این فایل می‌تواند خالی باشد یا شامل کدی باشد که پکیج را مقداردهی اولیه می‌کند. در نهایت، ماژول‌های خود را در دایرکتوری پکیج قرار دهید. مثال:

my_package/
  __init__.py
  module1.py
  module2.py
 

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

import my_package.module1

 my_package.module1.my_function()
 

7. درک شی‌گرایی در پایتون

پایتون یک زبان برنامه‌نویسی شی‌گرا (Object-Oriented Programming یا OOP) است. برنامه‌نویسی شی‌گرا یک روش برنامه‌نویسی است که بر اساس مفهوم "شیء" (Object) استوار است. اشیاء نمونه‌هایی از کلاس‌ها هستند و دارای داده‌ها (attributes) و رفتارها (methods) هستند.

7.1. کلاس‌ها و اشیاء

کلاس (Class) یک طرح اولیه یا قالب برای ایجاد اشیاء است. کلاس‌ها مشخص می‌کنند که یک شیء از چه داده‌هایی (attributes) و چه رفتارهایی (methods) برخوردار خواهد بود. شیء (Object) یک نمونه از یک کلاس است. برای ایجاد یک شیء از یک کلاس، باید کلاس را instantiate کنید. مثال:

class Dog:
  def __init__(self, name, breed):
  self.name = name
  self.breed = breed

  def bark(self):
  print("Woof!")

 my_dog = Dog("Buddy", "Golden Retriever")
 print(my_dog.name)  # Prints "Buddy"
 my_dog.bark()  # Prints "Woof!"
 

در اینجا:

  • Dog نام کلاس است.
  • __init__ یک متد سازنده (constructor) است که هنگام ایجاد یک شیء از کلاس فراخوانی می‌شود.
  • name و breed attributes کلاس هستند.
  • bark یک method کلاس است.
  • my_dog یک شیء از کلاس Dog است.

7.2. وراثت (Inheritance)

وراثت (Inheritance) یک مکانیزم است که به شما امکان می‌دهد یک کلاس جدید را از یک کلاس موجود (کلاس پایه یا parent class) ایجاد کنید. کلاس جدید (کلاس مشتق شده یا child class) تمام attributes و methods کلاس پایه را به ارث می‌برد و می‌تواند attributes و methods جدیدی را نیز تعریف کند یا attributes و methods ارث‌برده را بازنویسی کند (override). وراثت به شما کمک می‌کند تا از کدنویسی مجدد جلوگیری کنید و ساختار کدهای خود را سازماندهی کنید. مثال:

class Animal:
  def __init__(self, name):
  self.name = name

  def speak(self):
  print("Generic animal sound")

 class Cat(Animal):
  def __init__(self, name):
  super().__init__(name)

  def speak(self):
  print("Meow!")

 my_cat = Cat("Whiskers")
 print(my_cat.name)  # Prints "Whiskers"
 my_cat.speak()  # Prints "Meow!"
 

در اینجا:

  • Animal کلاس پایه است.
  • Cat کلاس مشتق شده از کلاس Animal است.
  • super().__init__(name) سازنده کلاس پایه را فراخوانی می‌کند تا attributes کلاس پایه را مقداردهی اولیه کند.
  • speak در کلاس Cat بازنویسی شده است تا صدای گربه را چاپ کند.

7.3. چندریختی (Polymorphism)

چندریختی (Polymorphism) به معنای "چند شکلی" است و به توانایی یک شیء در به نمایش گذاشتن رفتارها و اشکال مختلف اشاره دارد. در پایتون، چندریختی از طریق وراثت و interfaces (کلاس‌های انتزاعی) پیاده‌سازی می‌شود. مثال:

class Shape:
  def area(self):
  print("Area of the shape")

 class Rectangle(Shape):
  def __init__(self, width, height):
  self.width = width
  self.height = height

  def area(self):
  return self.width * self.height

 class Circle(Shape):
  def __init__(self, radius):
  self.radius = radius

  def area(self):
  return 3.14 * self.radius * self.radius

 my_rectangle = Rectangle(5, 10)
 my_circle = Circle(7)

 print(my_rectangle.area())  # Prints 50
 print(my_circle.area())  # Prints 153.86
 

در اینجا:

  • Shape کلاس پایه است و یک متد area دارد.
  • Rectangle و Circle کلاس‌های مشتق شده از کلاس Shape هستند و متد area را بازنویسی می‌کنند تا مساحت مستطیل و دایره را محاسبه کنند.
  • هر شیء از نوع Shape می‌تواند متد area را فراخوانی کند و نتیجه متفاوتی بسته به نوع شیء به دست آید.

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

```

“تسلط به برنامه‌نویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT”

قیمت اصلی 2.290.000 ریال بود.قیمت فعلی 1.590.000 ریال است.

"تسلط به برنامه‌نویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"

"با شرکت در این دوره جامع و کاربردی، به راحتی مهارت‌های برنامه‌نویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر می‌سازد تا به سرعت الگوریتم‌های پیچیده را درک کرده و اپلیکیشن‌های هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفه‌ای و امکان دانلود و تماشای آنلاین."

ویژگی‌های کلیدی:

بدون نیاز به تجربه قبلی برنامه‌نویسی

زیرنویس فارسی با ترجمه حرفه‌ای

۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان