🐍 Python چیست؟

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

این دوره توسط Arpam Studio طراحی شده است تا شما را از صفر به یک برنامه‌نویس حرفه‌ای پایتون تبدیل کند. تمام مثال‌ها دارای خروجی شبیه‌سازی‌شده هستند و با کلیک روی دکمه «▶ اجرا» می‌توانید نتیجه را ببینید.

💡 نکته: برای اجرای پایتون روی سیستم خود، می‌توانید از python.org آن را نصب کنید و کدها را در فایل با پسوند .py ذخیره و اجرا کنید.

📦 متغیرها و انواع داده

در پایتون نیازی به تعریف نوع متغیر نیست؛ کافی است مقداردهی کنید. انواع اصلی داده عبارتند از: int (عدد صحیح)، float (اعشاری)، str (رشته) و bool (منطقی).

name = "Arpam"
age = 5
is_active = True
print(name, age, is_active)

🔤 کار با رشته‌ها

رشته‌ها در پایتون با کوتیشن (' یا ") تعریف می‌شوند. متدهای مفید: upper() (بزرگ کردن)، strip() (حذف فاصله‌های خالی)، replace() (جایگزینی).

text = "  salam donya  "
print(text.upper())
print(text.strip())
print(text.replace("donya", "Arpam"))

📋 لیست‌ها

لیست‌ها (List) مجموعه‌ای مرتب و قابل تغییر از آیتم‌ها هستند که با براکت [] ساخته می‌شوند. می‌توانید با متد append() به آن عضو اضافه کنید.

fruits = ["سیب", "موز"]
fruits.append("پرتقال")
print(fruits)
print(fruits[1])

📌 تاپل‌ها

تاپل (Tuple) شبیه لیست است اما غیرقابل تغییر (Immutable) و با پرانتز () ساخته می‌شود. برای داده‌هایی که نباید تغییر کنند عالی است.

point = (3, 7)
print(point[0])
# point[0] = 5  # خطا! تاپل قابل تغییر نیست

📖 دیکشنری‌ها

دیکشنری‌ها (Dictionary) جفت‌های کلید-مقدار هستند و با آکولاد {} ساخته می‌شوند. دسترسی به مقادیر از طریق کلید بسیار سریع است.

student = {
    "name": "سارا",
    "age": 22,
    "grade": 19
}
print(student["name"])
print(student)

🔄 مجموعه‌ها (Set)

مجموعه‌ها مقادیر یکتا (بدون تکرار) و نامرتب نگه می‌دارند و با {} یا set() تعریف می‌شوند. اعضای تکراری به‌طور خودکار حذف می‌شوند.

nums = {1, 2, 2, 3}
print(nums)
print(2 in nums)

🔀 شرط‌ها

کنترل جریان برنامه با if، elif و else. تورفتگی (Indentation) در پایتون اجباری است و بلوک‌ها را مشخص می‌کند.

score = 85
if score >= 90:
    print("عالی")
elif score >= 75:
    print("خوب")
else:
    print("نیاز به تلاش")

🔁 حلقه‌ها

پایتون دو حلقه اصلی دارد: for (پیمایش روی دنباله‌ها) و while (تکرار تا زمانی که شرط برقرار باشد). تابع range() معمولاً با حلقه for استفاده می‌شود.

for i in range(1, 4):
    print("عدد", i)

count = 0
while count < 2:
    print("سلام")
    count += 1

⚙️ توابع

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

def greet(name):
    return f"سلام {name}!"

print(greet("Arpam"))

🦾 توابع لاندا

توابع بی‌نام کوچک با lambda ساخته می‌شوند. معمولاً با map()، filter() و sorted() استفاده می‌شوند.

square = lambda x: x ** 2
print(square(5))

nums = [1, 2, 3]
print(list(map(lambda x: x*2, nums)))

🏛️ کلاس‌ها و اشیاء

برنامه‌نویسی شیءگرا در پایتون با class انجام می‌شود. متد __init__ سازنده کلاس است.

class Car:
    def __init__(self, brand):
        self.brand = brand

    def start(self):
        return f"{self.brand} روشن شد"

my_car = Car("Tesla")
print(my_car.start())

🧬 وراثت

کلاس‌ها می‌توانند از کلاس‌های دیگر ارث‌بری کنند و متدهای آن‌ها را بازنویسی (override) کنند.

class Animal:
    def sound(self):
        return "صدای حیوان"

class Cat(Animal):
    def sound(self):
        return "میو"

print(Cat().sound())

📦 ماژول‌ها

پایتون کتابخانه استاندارد قدرتمندی دارد. برای استفاده از توابع آن‌ها از import استفاده می‌کنیم.

import math
print(math.sqrt(25))
print(math.pi)

📂 کار با فایل‌ها

برای خواندن و نوشتن فایل از تابع open() با حالت‌های 'r' (خواندن) و 'w' (نوشتن) استفاده می‌کنیم. دستور with مدیریت خودکار بستن فایل را انجام می‌دهد.

# نوشتن در فایل (شبیه‌سازی)
with open("note.txt", "w") as f:
    f.write("Arpam Studio")

with open("note.txt", "r") as f:
    content = f.read()
    print(content)

⚠️ مدیریت خطاها

با بلوک try...except می‌توانیم از کرش برنامه جلوگیری کنیم و خطاهای احتمالی را مدیریت کنیم.

try:
    result = 10 / 0
except ZeroDivisionError:
    print("خطای تقسیم بر صفر!")

✨ عبارات کامپرهنشن

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

squares = [x**2 for x in range(1, 6)]
print(squares)

evens = {x for x in range(10) if x % 2 == 0}
print(evens)

🛠️ پروژه نهایی: ماشین حساب

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

def calculator(a, b, op):
    if op == "+":
        return a + b
    elif op == "-":
        return a - b
    elif op == "*":
        return a * b
    elif op == "/":
        if b != 0:
            return a / b
        else:
            return "خطا: تقسیم بر صفر"
    else:
        return "عملگر نامعتبر"

print(calculator(10, 5, "+"))
print(calculator(9, 3, "/"))

🎉 تبریک! شما اکنون یک برنامه‌نویس پایتون هستید. مسیر یادگیری را با دوره‌های دیگر Arpam Studio ادامه دهید.