| کانال توسعه‌دهندگان پایتون |
7.13K subscribers
54 photos
2 videos
4 files
56 links
⭕️ کانال توسعه‌دهندگان پایتون دولوپیکس

💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی

💎 @Developix
🚀 Developix.ir

📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Download Telegram
در نمونه‌کد بالا تابع load_rows اول همه‌ی داده‌ها را یک‌جا در مموری می‌ریزد و بعد روی آن‌ها loop می‌زند؛ این کار روی فایل‌های بزرگ باعث Memory مصرفی بالا و حتی کرش برنامه می‌شود. در عوض، با برگرداندن یک generator و استفاده از yield می‌توانید خطوط را به‌صورت lazy و streamشده پردازش کنید تا هم مصرف مموری کم شود و هم عملکرد در سناریوهای پردازش فایل‌های بزرگ (مثلاً لاگ‌های چندگیگابایتی) بهتر شود. به‌خصوص در برنامه‌های ETL، پردازش لاگ و data pipelineها، این الگو نسبت به رویکرد لیست‌محور نمونه‌ی اول یک Design به‌مراتب پایدارتر و scalable محسوب می‌شود.

🔖 #Python #پایتون

👤 Developix

💎 Channel: @DevelopixPython
👍6👎1
👨‍💻 سوال برای توسعه‌دهندگان 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
👍2
🚀 سرور اختصاصی با تنوع منابع برای هر نوع نیاز 
پورت اختصاصی
آپلود رایگان
تخفیف پلکانی ترافیک
آپتایم 99.99%
24 ساعت تست رایگان
ارائه IP مازاد 
پشتیبانی 24/7 
تحویل فوری 
ارائه سرویس Colocation 
بدون قطعی
پرداخت ماهیانه

تعداد محدود – برای استفاده از این تخفیف ویژه سریع اقدام کن!
برای اطلاعات بیشتر و سفارش، تماس بگیر:
🔺 02191555530
💻 خرید سرور اختصاصی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
در کد زیر تلاش شده یک singleton ساده با استفاده از decorator نوشته شود، اما پیاده‌سازی فعلی هم از نظر نوع اشاره‌گر تابع (callable) و هم از نظر کار با __init__ در کلاس Logger مشکل دارد و باعث رفتار نادرست می‌شود.

به‌گونه‌ای کد را اصلاح کنید که Logger() همیشه یک نمونه‌ی واحد (singleton) برگرداند و همچنان بتوان آن را مثل یک کلاس عادی سازنده صدا زد، بدون این‌که ساختار کلی (ایده‌ی decorator singleton برای کلاس) به‌طور کامل عوض شود.


🔖 #Python #پایتون

👤 Developix

💎 Channel: @DevelopixPython
👍3
Forwarded from ابر ویراک
ویراک کلود | تجربه‌ی ابری بدون محدودیت ☁️🚀

🎁 ۲۰٪ شارژ هدیه روی اولین واریزی

مزیت‌هایی که واقعاً فرق می‌سازن:
⚡️ پهنای باند 980 مگ
🌐با IP مازاد
⏱️ راه‌اندازی فوری
💳 پرداخت ساعتی
🛡 پشتیبانی ۲۴/۷

💬 هر سوالی داشتی، تیم ما کنارتـه
مناسب استارتاپ‌ها، تیم‌های فنی، تا سازمان‌های بزرگ

همین الان شروع کن و با حداکثر منابع، سریع‌تر رشد کن 👇🏻

📞 تماس سریع: 02191555530
🔗 https://virakcloud.com
2
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
خروجی اجرای این کد در 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
5👎1
در قطعه‌کد زیر با یکی از رفتارهای مهم و گاهی خطرناک در 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
3👍2
شرط‌های تمیزتر در 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
👍3
جنگو (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
2👍2
خروجی اجرای این کد در 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
1