| کانال توسعهدهندگان پایتون |
الذهاب إلى القناة على Telegram
⭕️ کانال توسعهدهندگان پایتون دولوپیکس 💠 دولوپیکس | جامعه توسعهدهندگان ایرانی 💎 @Developix 🚀 Developix.ir 📌 پشتیبانی و تبلیغات: @DevelopixSupport
إظهار المزيد7 442
المشتركون
+524 ساعات
+697 أيام
+22030 أيام
جاري تحميل البيانات...
القنوات المماثلة
سحابة العلامات
لا توجد بيانات
هل تواجه مشاكل؟ يرجى تحديث الصفحة أو الاتصال بمدير الدعم الخاص بنا.
الإشارات الواردة والصادرة
---
---
---
---
---
---
جذب المشتركين
يوليو '26
يوليو '26
+178
في 0 قنوات
يونيو '26
+357
في 0 قنوات
Get PRO
مايو '26
+247
في 0 قنوات
Get PRO
أبريل '26
+134
في 0 قنوات
Get PRO
مارس '26
+19
في 0 قنوات
Get PRO
فبراير '26
+213
في 0 قنوات
Get PRO
يناير '26
+153
في 0 قنوات
Get PRO
ديسمبر '25
+400
في 0 قنوات
Get PRO
نوفمبر '25
+52
في 0 قنوات
Get PRO
أكتوبر '25
+140
في 0 قنوات
Get PRO
سبتمبر '25
+187
في 0 قنوات
Get PRO
أغسطس '25
+279
في 0 قنوات
Get PRO
يوليو '25
+160
في 0 قنوات
Get PRO
يونيو '25
+270
في 0 قنوات
Get PRO
مايو '25
+123
في 0 قنوات
Get PRO
أبريل '25
+241
في 0 قنوات
Get PRO
مارس '25
+314
في 0 قنوات
Get PRO
فبراير '25
+239
في 0 قنوات
Get PRO
يناير '25
+492
في 0 قنوات
Get PRO
ديسمبر '24
+360
في 0 قنوات
Get PRO
نوفمبر '24
+450
في 1 قنوات
Get PRO
أكتوبر '24
+279
في 0 قنوات
Get PRO
سبتمبر '24
+192
في 0 قنوات
Get PRO
أغسطس '24
+424
في 0 قنوات
Get PRO
يوليو '24
+511
في 0 قنوات
Get PRO
يونيو '24
+329
في 0 قنوات
Get PRO
مايو '24
+171
في 0 قنوات
Get PRO
أبريل '24
+279
في 0 قنوات
Get PRO
مارس '24
+463
في 0 قنوات
Get PRO
فبراير '24
+399
في 0 قنوات
Get PRO
يناير '24
+478
في 0 قنوات
Get PRO
ديسمبر '23
+605
في 0 قنوات
Get PRO
نوفمبر '23
+497
في 0 قنوات
Get PRO
أكتوبر '23
+606
في 0 قنوات
Get PRO
سبتمبر '23
+186
في 0 قنوات
Get PRO
أغسطس '23
+361
في 0 قنوات
Get PRO
يوليو '23
+331
في 0 قنوات
Get PRO
يونيو '23
+232
في 0 قنوات
Get PRO
مايو '23
+842
في 0 قنوات
| التاريخ | نمو المشتركين | الإشارات | القنوات | |
| 14 يوليو | +4 | |||
| 13 يوليو | +7 | |||
| 12 يوليو | +16 | |||
| 11 يوليو | +22 | |||
| 10 يوليو | +15 | |||
| 09 يوليو | +8 | |||
| 08 يوليو | +14 | |||
| 07 يوليو | +8 | |||
| 06 يوليو | +10 | |||
| 05 يوليو | +16 | |||
| 04 يوليو | +12 | |||
| 03 يوليو | +25 | |||
| 02 يوليو | +14 | |||
| 01 يوليو | +7 |
منشورات القناة
| 2 | لا يوجد نص... | 0 |
| 3 | خیلی وقتها پوشه Downloads شبیه یک انباری شلوغ میشود؛ pdf، عکس، zip، هر چیزی قاطی هم 😅
امروز یک اسکریپت واقعی و ساده با Python میسازیم که فایلها را بر اساس نوع، به پوشههای جدا منتقل کند.
ایده از این آموزش الهام گرفته شده:
Real Python - Working With Files in Python
🧠 ایده کلی
Python برای کار با فایلها و مسیرها کتابخانههای خیلی خوبی دارد، مخصوصاً pathlib و shutil.
کاری که میکنیم:
- پوشه Downloads را مانیتور نمیکنیم، فقط هر بار اسکریپت را اجرا کنیم
- بر اساس پسوند فایل (مثلاً .pdf یا .jpg) تصمیم میگیریم کجا برود
- اگر پوشه مقصد وجود نداشت، خودمان میسازیم
این مدل اسکریپتها برای مرتب نگهداشتن سیستم شخصی یا سیستمهای روی سرور خیلی کاربردی است.
🛠 کتابخانههای مورد نیاز
همه چیز با کتابخانههای استاندارد Python انجام میشود:
- pathlib برای کار راحتتر با مسیرها
- shutil برای جابجا کردن فایلها
- os اگر خواستیم تنظیمات خاصتری انجام بدهیم (اینجا خیلی کم استفاده میشود)
📦 کد نمونه: مرتبسازی فایلها بر اساس پسوند
این یک مثال ساده و عملی است. مسیر DOWNLOADS_PATH را با مسیر سیستم خودتان عوض کنید 👇
from pathlib import Path
import shutil
# مسیر پوشه Downloads را مطابق سیستم خود تنظیم کنید
DOWNLOADS_PATH = Path.home() / "Downloads"
# مپ کردن پسوندها به پوشههای هدف
EXTENSION_MAP = {
".pdf": "PDFs",
".jpg": "Images",
".jpeg": "Images",
".png": "Images",
".zip": "Archives",
".rar": "Archives",
".mp4": "Videos",
".mp3": "Music",
}
for item in DOWNLOADS_PATH.iterdir():
if item.is_file():
ext = item.suffix.lower()
if ext in EXTENSION_MAP:
target_dir = DOWNLOADS_PATH / EXTENSION_MAP[ext]
target_dir.mkdir(exist_ok=True)
target_path = target_dir / item.name
# اگر فایلی با همین نام هست، نام را کمی عوض میکنیم
if target_path.exists():
target_path = target_dir / f"{item.stem}_copy{ext}"
shutil.move(str(item), str(target_path))
نکات کوچک اما مهم ✨
- قبل از اجرا، یکبار روی یک پوشه تستی امتحان شود تا مطمئن شوید مپ پسوندها را درست تعریف کردهاید.
- میتوانید EXTENSION_MAP را مطابق نیاز خود بزرگتر کنید (مثلاً برای فایلهای .pptx، .csv و غیره).
- اگر با Windows کار میکنید و مسیر Downloads فرق دارد، از print(Path.home()) استفاده کنید تا مسیر خانه کاربر را ببینید.
چطور حرفهایترش کنیم؟
- اضافه کردن logging برای لاگ کردن کارهایی که روی فایلها انجام میشود.
- ساختن یک CLI ساده با کتابخانه argparse تا بشود مسیر را از طریق command line داد.
- زمانبندی اجرای اسکریپت (مثلاً با Task Scheduler روی Windows یا cron روی Linux).
اگر پوشه Downloads شما همیشه شلوغ است، این اسکریپت یک نجاتدهنده کوچک است 😄
امتحانش کنید و اگر دوست داشتید، با بقیه توسعهدهندگان پایتون هم به اشتراک بگذارید.
🔖 #Python #پایتون #Python #Automation #Files #pathlib #shutil #Scripting
👤 Developix
💎 Channel: @DevelopixPython | 677 |
| 4 | چرا متود copy همیشه کپی واقعی نمیسازه؟
یکی از باگهایی که حتی برنامهنویسهای با تجربه هم گاهی باهاش روبهرو میشن، تفاوت بین Copy و Deep Copy هست
فرض کنید این لیست رو داریم:
data = [
["Yasin", "Ali"],
["Math", "Science"]
]
حالا ازش کپی میگیریم:
new_data = data.copy()
خیلیها فکر میکنن new_data کاملاً مستقل از data شده اما اینطور نیست
اگر این کار رو انجام بدیم:
new_data[0].append("Sina")
نتیجه:
print(data)
# خروجی 👇🏻
# [['Yasin', 'Ali', 'Sina'], ['Math', 'Science']]
چرا لیست اصلی هم تغییر کرد؟
چون copy() فقط لیست بیرونی رو کپی میکنه، ولی عناصر داخلش همچنان به همون آبجکتهای قبلی اشاره میکنن.
به این میگن Shallow Copy
-——————————————--
🎈اما راه حل؟
وقتی ساختارهای تو در تو دارید با از از deepcopy استفاده کنید
from copy import deepcopy
new_data = deepcopy(data)
حالا هر تغییری روی new_data بدید روی data اثری نداره
🔴 نکته مهم 🔴
اگر دادههای شما تو در تو نیستند، copy کاملاً کافی و سریعتره
اما اگر با لیست، دیکشنری یا آبجکتهای تو در تو کار میکنید استفاده اشتباه از copy میتونه باگ ایجاد کنه که وقتتون گرفته بشه
🔖 #Python #پایتون
👤 BʟᴀᴄᴋCᴀᴛ
💎 Channel: @DevelopixPython | 730 |
| 5 | 💠 نسخه جدید کتابخانه FastAPI منتشر شده است
🔸 ارتقا از نسخه 0.138.1 به 0.139.0
🔹 لیست تغییرات این نسخه:
- پشتیبانی از dependencies در app.frontend()
- بهروزرسانی ترجمههای چندزبانه مستندات
- بهروزرسانی فهرست متخصصان و مشارکتکنندگان FastAPI
- بهبود تنظیمات مخزنها و موضوعات GitHub
- بهروزرسانی وابستگیها و GitHub Actions
- سایر ریزبهبودهای داخلی و ترجمهها و غیره
🔖 #fastapi, #python, #release
💎 @DevelopixPython | 1 178 |
| 6 | در کد اول، برای پردازش یک فایل بزرگ کل محتوا با read().splitlines() یکباره در مموری لود شده است. این کار هم ریسک Memory Error را بالا میبرد و هم برای فایلهای خیلی بزرگ باعث افت شدید کارایی میشود. در کد دوم با استفاده از یک generator و iteration تنبل (lazy) هر خط بهصورت stream خوانده میشود و فقط همان لحظه در مموری قرار میگیرد.
در مثال بالا به جای بارگذاری یکجای کل فایل، میتوانید با الگوی generator و حلقه روی file object، مصرف مموری را بهصورت چشمگیر کاهش دهید و در سناریوهای پردازش فایلهای چندصد مگابایتی یا لاگفایلهای بسیار بزرگ، هم مقیاسپذیری برنامه را بهتر کنید و هم سرعت شروع پردازش را افزایش دهید.
اگر در پروژههای Python با دادههای حجیم (مثلاً log processing، ETL ساده یا پردازش دیتاهای متنی) سروکار دارید، استفاده از این الگو بهجای روش eager loading میتواند تفاوت جدی در performance و پایداری برنامهتان ایجاد کند.
🔖 #Python #پایتون
👤 Developix
💎 Channel: @DevelopixPython | 1 605 |
| 7 | 💠 نسخه جدید کتابخانه FastAPI منتشر شده است
🔸 ارتقا از نسخه 0.137.2 به 0.138.0
🔹 لیست تغییرات این نسخه:
- افزودن پشتیبانی از app.frontend() و router.frontend()
- بهروزرسانی و بهبود مستندات (تایپو، لینکها و دستورالعملها)
- فعال شدن ترجمه مستندات به زبان هندی
- بهبود تستها و پایدارسازی فرایند انتشار، و غیره
🔖 #fastapi, #python, #release
💎 @DevelopixPython | 1 601 |
| 8 | 🏆آفرهای جام جهانی ۲۰۲۶ هاستایران فعال شد!
با کمپین «ترکیب برنده سایتت»، زیرساخت سایتت رو برای روزهای پرترافیک آماده کن:
🔥 ۲۵٪ تخفیف روی پلنهای ۳ ماهه هاست اشتراکی ایران
⚡ ۵۰٪ تخفیف روی پلنهای یکماهه سرویس ابری در دیتاسنترهای تهران، مشهد و اهواز
🧠 مشاوره رایگان زیرساخت توسط کارشناسان هاستایران
فرصت استفاده از تخفیفها و ثبت فرم مشاوره محدود است.
📌 برای کپی کدهای تخفیف و ثبتنام در فرم مشاوره، روی لینک زیر کلیک کنید:
📌صفحه فرم مشاوره
📌تلگرام هاستایران
📌بله هاستایران
#هاست_ایران #سرور_ابری_هاست_ایران #هاست_اشتراکی #دیتاسنتر #مشاوره_زیرساخت #جام_جهانی2026 | 1 491 |
| 9 | 💠 نسخه جدید کتابخانه FastAPI منتشر شده است
🔸 ارتقا از نسخه 0.136.3 به 0.137.0
🔹 لیست تغییرات این نسخه:
- تغییر داخلیِ سازگارکننده APIRouter/APIRoute برای حفظ نمونهها
- امکان افزودن روتها پس از include_router بدون کپی شدن مسیرها
- پشتیبانی مقدماتی از APIRouter/APIRoute سفارشی (ویژگی آزمایشی)
- بهروزرسانی مستندات و راهنمای استقرار FastAPI Cloud
- بهروزرسانی ترجمههای مستندات به چندین زبان
- بهروزرسانی وابستگیها، حامیان و تنظیمات داخلی و غیره
🔖 #fastapi, #python, #release
💎 @DevelopixPython | 1 398 |
| 10 | 💠 نسخه جدید کتابخانه آیوگرام (Aiogram) منتشر شده است
🔸 ارتقا از نسخه 3.28.2 به 3.29.0
🔖 #Aiogram, #bot, #python, #release
💎 @DevelopixPython | 1 149 |
| 11 | 💠 نسخه جدید کتابخانه python-telegram-bot منتشر شده است
🔸 ارتقا از نسخه 22.7.0 به 22.8.0
💎 @DevelopixPython | 1 282 |
| 12 | 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 | 1 411 |
| 13 | خروجی اجرای این کد در 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 | 2 033 |
| 14 | جنگو (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 | 1 429 |
| 15 | ✅ شرطهای تمیزتر در 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 | 0 |
