uz
Feedback
| کانال توسعه‌دهندگان پایتون |

| کانال توسعه‌دهندگان پایتون |

Kanalga Telegram’da o‘tish

⭕️ کانال توسعه‌دهندگان پایتون دولوپیکس 💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی 💎 @Developix 🚀 Developix.ir 📌 پشتیبانی و تبلیغات: @DevelopixSupport

Ko'proq ko'rsatish
7 264
Obunachilar
+524 soatlar
+397 kunlar
+24230 kunlar
Postlar arxiv
💠 نسخه جدید کتابخانه FastAPI منتشر شده است 🔸 ارتقا از نسخه 0.137.2 به 0.138.0 🔹 لیست تغییرات این نسخه: - افزودن پشتیبانی ا
💠 نسخه جدید کتابخانه FastAPI منتشر شده است 🔸 ارتقا از نسخه 0.137.2 به 0.138.0 🔹 لیست تغییرات این نسخه: - افزودن پشتیبانی از app.frontend() و router.frontend() - به‌روزرسانی و بهبود مستندات (تایپو، لینک‌ها و دستورالعمل‌ها) - فعال شدن ترجمه مستندات به زبان هندی - بهبود تست‌ها و پایدارسازی فرایند انتشار، و غیره 🔖 #fastapi, #python, #release 💎 @DevelopixPython

🏆آفرهای جام جهانی ۲۰۲۶ هاست‌ایران فعال شد! با کمپین «ترکیب برنده سایتت»، زیرساخت سایتت رو برای روزهای پرترافیک آماده کن: 🔥 ۲۵٪ تخفیف روی پلن‌های ۳ ماهه هاست اشتراکی ایران ⚡ ۵۰٪ تخفیف روی پلن‌های یک‌ماهه سرویس ابری در دیتاسنترهای تهران، مشهد و اهواز 🧠 مشاوره رایگان زیرساخت توسط کارشناسان هاست‌ایران فرصت استفاده از تخفیف‌ها و ثبت فرم مشاوره محدود است. 📌 برای کپی کدهای تخفیف و ثبت‌نام در فرم مشاوره، روی لینک زیر کلیک کنید: 📌صفحه فرم مشاوره 📌تلگرام هاست‌ایران 📌بله هاست‌ایران #هاست_ایران #سرور_ابری_هاست_ایران #هاست_اشتراکی #دیتاسنتر #مشاوره_زیرساخت #جام_جهانی2026

💠 نسخه جدید کتابخانه FastAPI منتشر شده است 🔸 ارتقا از نسخه 0.136.3 به 0.137.0 🔹 لیست تغییرات این نسخه: - تغییر داخلیِ سازگ
💠 نسخه جدید کتابخانه FastAPI منتشر شده است 🔸 ارتقا از نسخه 0.136.3 به 0.137.0 🔹 لیست تغییرات این نسخه: - تغییر داخلیِ سازگارکننده APIRouter/APIRoute برای حفظ نمونه‌ها - امکان افزودن روت‌ها پس از include_router بدون کپی شدن مسیرها - پشتیبانی مقدماتی از APIRouter/APIRoute سفارشی (ویژگی آزمایشی) - به‌روزرسانی مستندات و راهنمای استقرار FastAPI Cloud - به‌روزرسانی ترجمه‌های مستندات به چندین زبان - به‌روزرسانی وابستگی‌ها، حامیان و تنظیمات داخلی و غیره 🔖 #fastapi, #python, #release 💎 @DevelopixPython

💠 نسخه جدید کتابخانه آیوگرام (Aiogram) منتشر شده است 🔸 ارتقا از نسخه 3.28.2 به 3.29.0 🔖 #Aiogram, #bot, #python, #release
💠 نسخه جدید کتابخانه آیوگرام (Aiogram) منتشر شده است 🔸 ارتقا از نسخه 3.28.2 به 3.29.0 🔖 #Aiogram, #bot, #python, #release 💎 @DevelopixPython

💠 نسخه جدید کتابخانه python-telegram-bot منتشر شده است 🔸 ارتقا از نسخه 22.7.0 به 22.8.0 💎 @DevelopixPython
💠 نسخه جدید کتابخانه python-telegram-bot منتشر شده است 🔸 ارتقا از نسخه 22.7.0 به 22.8.0 💎 @DevelopixPython

Pandas یکی از مهم‌ترین ابزارهای Python برای کار جدی با داده‌ است؛ مخصوصاً وقتی با فایل‌های CSV، Excel، دیتابیس‌ها یا دیتاهای جدولی سروکار داری 📊 با Pandas می‌توانی: • دیتاست‌های بزرگ را سریع فیلتر و مرتب کنی • ستون‌ها را اضافه/حذف و تبدیل نوع انجام بدهی • روی گروه‌ها آمار بگیری (groupby) • به‌راحتی با NumPy و ابزارهای ML مثل scikit-learn ترکیبش کنی نمونه استفادهٔ ساده:
pip install pandas
import pandas as pd

# خواندن فایل CSV
df = pd.read_csv("data.csv")

# انتخاب سطرهایی که مقدار ستون "age" >= 18 است
adults = df[df["age"] >= 18]

# میانگین سن
mean_age = adults["age"].mean()
print(mean_age)
برای تحلیل لاگ‌ها، دیتای مالی، گزارش‌های سیستمی یا آماده‌سازی دیتا برای مدل‌های ML، Pandas معمولاً اولین انتخاب است. مستندات رسمی: Docs GitHub امتحانش کن روی یک CSV واقعی از پروژه‌ات و کم‌کم دیتای خام را به insight تبدیل کن 🔍 🔖 #Python #پایتون #Python #Pandas #Data_Analysis #DataFrame #تحلیل_داده #پایتون 👤 Developix 💎 Channel: @DevelopixPython

خروجی اجرای این کد در Python چیست؟ به رفتار تابع sorted با پارامتر key و پایداری (stability) مرتب‌سازی دقت کنید. data = [3, 1
خروجی اجرای این کد در Python چیست؟ به رفتار تابع sorted با پارامتر key و پایداری (stability) مرتب‌سازی دقت کنید.
data = [3, 1, 2, 1]

calls = []

def key_fn(x):
    calls.append(x)
    return 0

result = sorted(data, key=key_fn)

print("calls:", calls)
print("result:", result)
خروجی دقیق این برنامه چیست؟ 🔖 #Python #پایتون 👤 Developix 💎 Channel: @DevelopixPython

جنگو (Django): فریم‌ورک وب فول‌استک برای پایتون 🚀 اگر دنبال ساخت وب‌اپلیکیشن جدی با Python هستی، Django یکی از جدی‌ترین گزینه‌هاست. جنگو بهت کمک می‌کند خیلی سریع از ایده برسی به محصول قابل‌استفاده، بدون این‌که چرخ را از نو اختراع کنی. چرا Django؟ • ORM قدرتمند برای کار با دیتابیس بدون نوشتن مستقیم SQL • پنل ادمین آماده برای مدیریت دیتا 💻 • سیستم auth داخلی (کاربر، لاگین، permission) • ساختار استاندارد و opinionated برای پروژه‌های بزرگ • جامعه کاربری بزرگ و داکیومنتیشن عالی نصب و شروع سریع
pip install django

django-admin startproject mysite
cd mysite
python manage.py startapp blog
python manage.py runserver
برای وب‌اپلیکیشن‌های شرکتی، پنل ادمین داخلی جنگو زمان توسعه را به‌شدت کم می‌کند؛ مخصوصاً وقتی CRUD زیاد داری و نمی‌خواهی برای هر چیز یک صفحه custom بنویسی. مستندات رسمی: docs.djangoproject.com سورس‌کد: github.com/django/django با یک پروژه کوچک شروع کن؛ مثلاً یک وبلاگ ساده یا داشبورد ادمین، و کم‌کم سراغ featureهای جدی‌تر برو. 😎 🔖 #Python #پایتون #Python #Django #Web #Backend #ORM #Admin 👤 Developix 💎 Channel: @DevelopixPython

✅ شرط‌های تمیزتر در Python با any و all 🧠 خیلی وقت‌ها توی if ها چند شرط پشت‌سرهم با and و or می‌نویسیم و کد شلوغ می‌شود. دو تابع ساده و خیلی Pythonic برای تمیز کردن این شرط‌ها داریم: any و all. ایده اصلی: - any(iterable) اگر حداقل یک مقدار True باشد، True برمی‌گرداند. - all(iterable) فقط وقتی همه مقادیر True باشند، True برمی‌گرداند. یک مثال واقعی: اعتبارسنجی ورودی کاربر 👇
def is_valid_user(data: dict) -> bool:
    required_keys = ["username", "email", "password"]

    # همه فیلدها باید وجود داشته باشند و خالی نباشند
    return all(
        key in data and isinstance(data[key], str) and data[key].strip()
        for key in required_keys
    )

user = {"username": "ali", "email": "", "password": "123"}
print(is_valid_user(user))  # False
به‌جای چند if تو در تو، با یک all هم خوانایی بهتر می‌شود هم خطاهای منطقی کمتر می‌شود. برای چک کردن اینکه «حداقل یکی» برقرار باشد، از any استفاده می‌شود. مرجع: Python docs - any & all امتحان استفاده از any و all در شرط‌های قدیمی کد، کدبیس را تمیزتر و قابل‌درک‌تر می‌کند. 😉 🔖 #Python #پایتون #Python #any #all #conditions #clean_code #validation #tips 👤 Developix 💎 Channel: @DevelopixPython

در قطعه‌کد زیر با یکی از رفتارهای مهم و گاهی خطرناک در Python روبه‌رو هستیم: آرگومان پیش‌فرض قابل‌تغییر (Mutable Default Argu
در قطعه‌کد زیر با یکی از رفتارهای مهم و گاهی خطرناک در Python روبه‌رو هستیم: آرگومان پیش‌فرض قابل‌تغییر (Mutable Default Argument). خروجی اجرای این کد (چاپ‌شده در انتهای برنامه) چیست؟
def append_item(item, data=[]):
    data.append(item)
    return data

x = append_item(1)
y = append_item(2)

z = append_item(3, data=[])
w = append_item(4)

print(x)
print(y)
print(z)
print(w)
پاسخ را فقط به صورت خروجی نهایی تابع printها (به ترتیب هر خط)، بنویسید. 🔖 #Python #پایتون 👤 Developix 💎 Channel: @DevelopixPython

خروجی اجرای این کد در Python چیست؟ funcs = [] for i in range(3): funcs.append(lambda x, p=i: x * p) result = sum(f(10) for f
خروجی اجرای این کد در Python چیست؟
funcs = []

for i in range(3):
    funcs.append(lambda x, p=i: x * p)

result = sum(f(10) for f in funcs)
print(result)
به عددی که در خروجی چاپ می‌شود توجه کنید و فقط همان عدد را بنویسید. 🔖 #Python #پایتون 👤 Developix 💎 Channel: @DevelopixPython

FastAPI یکی از مدرن‌ترین فریم‌ورک‌های Python برای ساخت REST API و سرویس‌های سریع است 🚀 با استفاده از type hints استاندارد پایتون (مثل str و int) همزمان: • اسکیمای داده‌ها را تعریف می‌کنی ✅ • validation اتومات می‌گیری ✅ • مستندات زنده OpenAPI و Swagger UI تحویل می‌گیری ✅ برای میکروسرویس‌ها، Backend اپ‌های موبایل، و سرویس‌های ML که نیاز به عملکرد بالا دارند، انتخاب خیلی خوبی است. نصب و یک مثال ساده:
pip install fastapi uvicorn

from fastapi import FastAPI

app = FastAPI()

@app.get("/hello")
async def hello(name: str = "Python"):
    return {"msg": f"Hello {name}!"}

# اجرا:
# uvicorn main:app --reload
نکته: پارامترهای تابع، خودکار به query/body تبدیل می‌شوند و خطاهای validation به صورت JSON مرتب برمی‌گردند؛ خیلی مناسب برای frontend و mobile تیم. مستندات رسمی: 📚 FastAPI Docs 💻 GitHub امتحانش ارزش دارد؛ مخصوصاً اگر از Flask/Django API خسته از boilerplate شده‌ای 🙂 🔖 #Python #پایتون #Python #FastAPI #Web #API #Backend 👤 Developix 💎 Channel: @DevelopixPython

Repost from ابر ویراک
ویراک کلود | تجربه‌ی ابری بدون محدودیت ☁️🚀 🎁 ۲۰٪ شارژ هدیه روی اولین واریزی مزیت‌هایی که واقعاً فرق می‌سازن: ⚡️ پهنای باند
ویراک کلود | تجربه‌ی ابری بدون محدودیت ☁️🚀 🎁 ۲۰٪ شارژ هدیه روی اولین واریزی مزیت‌هایی که واقعاً فرق می‌سازن: ⚡️ پهنای باند 980 مگ 🌐با IP مازاد ⏱️ راه‌اندازی فوری 💳 پرداخت ساعتی 🛡 پشتیبانی ۲۴/۷ 💬 هر سوالی داشتی، تیم ما کنارتـه ✅ مناسب استارتاپ‌ها، تیم‌های فنی، تا سازمان‌های بزرگ همین الان شروع کن و با حداکثر منابع، سریع‌تر رشد کن 👇🏻 📞 تماس سریع: 02191555530 🔗 https://virakcloud.com

در کد زیر تلاش شده یک singleton ساده با استفاده از decorator نوشته شود، اما پیاده‌سازی فعلی هم از نظر نوع اشاره‌گر تابع (call
در کد زیر تلاش شده یک singleton ساده با استفاده از decorator نوشته شود، اما پیاده‌سازی فعلی هم از نظر نوع اشاره‌گر تابع (callable) و هم از نظر کار با __init__ در کلاس Logger مشکل دارد و باعث رفتار نادرست می‌شود. به‌گونه‌ای کد را اصلاح کنید که Logger() همیشه یک نمونه‌ی واحد (singleton) برگرداند و همچنان بتوان آن را مثل یک کلاس عادی سازنده صدا زد، بدون این‌که ساختار کلی (ایده‌ی decorator singleton برای کلاس) به‌طور کامل عوض شود. 🔖 #Python #پایتون 👤 Developix 💎 Channel: @DevelopixPython

🚀 سرور اختصاصی با تنوع منابع برای هر نوع نیاز ⏺پورت اختصاصی ⏺آپلود رایگان ⏺تخفیف پلکانی ترافیک ⏺آپتایم 99.99% ⏺24 ساعت تست ر
🚀 سرور اختصاصی با تنوع منابع برای هر نوع نیاز  ⏺پورت اختصاصی ⏺آپلود رایگان ⏺تخفیف پلکانی ترافیک ⏺آپتایم 99.99% ⏺24 ساعت تست رایگان ⏺ارائه IP مازاد  ⏺پشتیبانی 24/7  ⏺تحویل فوری  ⏺ارائه سرویس Colocation  ⏺بدون قطعی ⏺پرداخت ماهیانه ⏰ تعداد محدود – برای استفاده از این تخفیف ویژه سریع اقدام کن! برای اطلاعات بیشتر و سفارش، تماس بگیر: 🔺 02191555530 💻 خرید سرور اختصاصی

👨‍💻 سوال برای توسعه‌دهندگان Python خروجی اجرای کد زیر در Python چیست؟ به تفاوت بین متغیرهای سازنده (constructor) و متغیرهای
👨‍💻 سوال برای توسعه‌دهندگان Python خروجی اجرای کد زیر در Python چیست؟ به تفاوت بین متغیرهای سازنده (constructor) و متغیرهای کلاس و همین‌طور نحوهٔ ذخیره شدن default argumentها در حافظه دقت کنید.
class A:
    cache = []

    def __init__(self, items=None):
        if items is None:
            items = []
        self.items = items
        self.cache.append(len(self.items))


x = A([1, 2])
y = A()
z = A()

x.items.append(3)
y.items.extend([10, 20])

print(x.items, y.items, z.items, A.cache)
خروجی دقیق تابع print را بنویسید. 🔖 #Python #پایتون 👤 Developix 💎 Channel: @DevelopixPython

در نمونه‌کد بالا تابع load_rows اول همه‌ی داده‌ها را یک‌جا در مموری می‌ریزد و بعد روی آن‌ها loop می‌زند؛ این کار روی فایل‌های
+1
در نمونه‌کد بالا تابع load_rows اول همه‌ی داده‌ها را یک‌جا در مموری می‌ریزد و بعد روی آن‌ها loop می‌زند؛ این کار روی فایل‌های بزرگ باعث Memory مصرفی بالا و حتی کرش برنامه می‌شود. در عوض، با برگرداندن یک generator و استفاده از yield می‌توانید خطوط را به‌صورت lazy و streamشده پردازش کنید تا هم مصرف مموری کم شود و هم عملکرد در سناریوهای پردازش فایل‌های بزرگ (مثلاً لاگ‌های چندگیگابایتی) بهتر شود. به‌خصوص در برنامه‌های ETL، پردازش لاگ و data pipelineها، این الگو نسبت به رویکرد لیست‌محور نمونه‌ی اول یک Design به‌مراتب پایدارتر و scalable محسوب می‌شود. 🔖 #Python #پایتون 👤 Developix 💎 Channel: @DevelopixPython

الگوی Strategy: خداحافظ if-elif-elseهای غول‌آسا 🧠 یکی از Code Smellهای رایج در پروژه‌های Python، به‌خصوص در Django / FastAPI، زنجیره‌های بزرگ if / elif برای انتخاب نوع رفتار است. این ساختارها هم سخت تست می‌شوند، هم هر تغییر کوچکی را پرریسک می‌کنند. یک راه‌حل تمیز و شناخته‌شده در Design Patternها برای این مشکل، الگوی Strategy است. این الگو منطق‌های قابل‌جایگزین (قابل تعویض) را در آبجکت‌های جدا نگه می‌دارد و کد را قابل‌گسترش و خواناتر می‌کند. 🙌 مثال ساده: فرض کنید در یک سرویس پرداخت، بسته به نوع روش پرداخت، منطق متفاوتی دارید:
class PaymentService:
    def pay(self, method: str, amount: int) -> None:
        if method == "card":
            print("Paying by card", amount)
        elif method == "paypal":
            print("Paying by PayPal", amount)
        elif method == "crypto":
            print("Paying by crypto", amount)
        else:
            raise ValueError("Unsupported method")
این کلاس هم تک‌مسئولیتی نیست، هم هر بار روش جدیدی اضافه می‌شود باید کلاس را ادیت کنیم. زیر پا گذاشتن اصل Open/Closed. با Strategy همین منطق را تمیز می‌کنیم:
from abc import ABC, abstractmethod

class PaymentStrategy(ABC):
    @abstractmethod
    def pay(self, amount: int) -> None:
        ...


class CardPayment(PaymentStrategy):
    def pay(self, amount: int) -> None:
        print("Paying by card", amount)


class PaypalPayment(PaymentStrategy):
    def pay(self, amount: int) -> None:
        print("Paying by PayPal", amount)


class CryptoPayment(PaymentStrategy):
    def pay(self, amount: int) -> None:
        print("Paying by crypto", amount)


class PaymentService:
    def __init__(self, strategy: PaymentStrategy) -> None:
        self._strategy = strategy

    def pay(self, amount: int) -> None:
        self._strategy.pay(amount)
حالا انتخاب Strategy می‌تواند در لایه‌ی وب (مثلاً FastAPI endpoint) انجام شود و PaymentService تمیز و قابل‌تست می‌ماند:
def get_strategy(method: str) -> PaymentStrategy:
    mapping = {
        "card": CardPayment(),
        "paypal": PaypalPayment(),
        "crypto": CryptoPayment(),
    }
    try:
        return mapping[method]
    except KeyError:
        raise ValueError("Unsupported method")
نکته عملی قابل‌استفاده امروز ✅ هرجا یک تابع یا view دارید که براساس یک نوع (type / method / status) با if-elifهای زیاد شاخه‌بندی می‌کند، آن منطق را به کلاس‌های کوچک‌تر Strategy تبدیل کنید و یک mapping تمیز بسازید. این کار هم خوانایی را بالا می‌برد، هم اضافه‌کردن رفتار جدید را بدون دست‌زدن به منطق قدیمی ممکن می‌کند. برای مطالعه‌ی عمیق‌تر درباره Strategy: refactoring.guru/design-patterns/strategy کد تمیز با الگوهای درست، در پروژه‌های واقعی Python تفاوت جدی در سرعت توسعه و لذت کار ایجاد می‌کند. 🚀 امروز یکی از if-elifهای سنگین پروژه‌تان را به یک Strategy تمیز تبدیل کنید و نتیجه را در نگه‌داری و تست‌ها ببینید. 🔖 #Python #پایتون #python #strategy_pattern #clean_code #design_patterns #architecture #refactoring 👤 Developix 💎 Channel: @DevelopixPython

📌 باز و بسته کردن فایل با context manager خیلی وقت cها توی کدهای Python دیده می cشه فایل رو با open() باز می cکنیم، ولی فراموش می cکنیم ببندیمش. این کار می cتونه باعث Memory Leak، خطاهای عجیب روی سیستم فایل و قفل شدن فایل بشه. راه تمیز و Pythonic استفاده از کلمهٔ کلیدی with هست که خودش به cصورت خودکار فایل رو می cبنده، حتی اگر وسط کار Exception بیاد. 😎
# ❌ روش ضعیف
f = open("data.txt", "r", encoding="utf-8")
text = f.read()
# اگر اینجا Exception بیاد، f.close() هرگز صدا زده نمی cشه
f.close()

# ✅ روش پیشنهادی با context manager
with open("data.txt", "r", encoding="utf-8") as f:
    text = f.read()

print(len(text))
اینجا with تضمین می cکنه بعد از اتمام بلاک، چه کد موفق اجرا بشه چه Exception رخ بده، متد f.close() صدا زده بشه. این دقیقاً رفتاریه که برای منابع حساس مثل فایل، کانکشن دیتابیس، و ساکت cها می cخوایم. 🔐 نکتهٔ مهم دیگه اینه که with کد رو خواناتر و قابل cاعتمادتر می cکنه؛ هر کسی کد رو ببینه، فوراً متوجه scope استفاده از منبع می cشه و لازم نیست دنبال close() بگرده. این الگو رو می cشه برای چند فایل همزمان هم استفاده کرد:
with open("input.txt", "r", encoding="utf-8") as fin, \
     open("output.txt", "w", encoding="utf-8") as fout:
    for line in fin:
        fout.write(line.upper())
امتحان این الگو توی پروژه cهای فعلی، مخصوصاً جاهایی که با فایل، شبکه یا هر منبع خارجی کار می cشه، یکی از سریع cترین بهبودهای کد محسوب می cشه. ✨ منبع رسمی برای جزئیات بیشتر: Python Docs - The with statement 🔖 #Python #پایتون #Python #File_I/O #Context_Manager #Best_Practices #Code_Readability 👤 Developix 💎 Channel: @DevelopixPython

Repost from ابر ویراک
⭕️ ویراک کلود زیرساختی مطمئن برای کسب و کارهای آنلاین 🎁 20% شارژ بیشتر روی اولین واریزی ⚡️با کد معرف: 10% شارژ برای شما و 10
⭕️ ویراک کلود زیرساختی مطمئن برای کسب و کارهای آنلاین 🎁 20% شارژ بیشتر روی اولین واریزی ⚡️با کد معرف: 10%  شارژ برای شما و 10% برای دوستتان! 🔘با IPv6 رایگان 🔘با IP مازاد 🔘تست رایگان 2 روزه 🔘فایروال اختصاصی 🔘با API برای حرفه‌ای ها 🔘پشتیبانی 24 ساعته 🔘آپلود رایگان 📞 همین حالا با ما تماس بگیرید و این فرصت فوق‌العاده رو از دست ندید! 🔻02191555530 🌐Virakcloud.com