This media is not supported in your browser
VIEW IN TELEGRAM
🔶فریم ورک mediapip
#python #mediapip
یک فریمورک متن باز که توسط گوگل توسعه پیدا کرده که برای توسعه اپ هایی که نیاز به پردازش تصویر و ویدیپ دارن تو زمینه هایی مثل تشخیص چهره ، ردیابی بدن ، تشخیص اشیا و غیره بکار میره!
خوبیش اینه realtimeو تو زبونای مختلف قابل استفاده است مثل پایتون و جاوا
وc++
برای نصب در پایتونpip install mediapipe
#python #mediapip
@PythonFarsi2024
❤4👌2🤷♂1
🔍 چرا SQLAlchemy؟ یه مثال واقعی بزنیم...
فرض کن یه اپ ساده نوشتی برای ثبتنام کاربر. کاربر یه اسم و ایمیل وارد میکنه، تو هم باید این اطلاعاتو توی دیتابیس ذخیره کنی.
راه اول (سنتی): مستقیم با SQL کار کنی:
👆 مشکلش چیه؟
خودت باید جدولها رو بسازی
با هر فیلد جدید باید دستی کوئریتو عوض کنی
رابطه بین جدولها سخته
احتمال اشتباه و باگ بالاست
تست گرفتن و نگهداری پروژه سخت میشه
حالا راه دوم با SQLAlchemy:
✅ خیلی تمیزتر
✅ قابل گسترش (مثلاً اضافه کردن فیلد شمارهتلفن، بدون تغییر در کوئریها)
✅ ساخت جدول و مدیریت ارتباطها اتوماتیک
✅ امنیت بیشتر و جلوگیری از SQL Injection
✅ خواناتر، حتی برای تیمهای بزرگ
🎯 SQLAlchemy کمک میکنه بهجای درگیر شدن با جزئیات دیتابیس، روی منطق اپلیکیشن تمرکز کنی.
اگه یه پروژه سادهست، شاید اولش احساس نیاز نکنی. ولی وقتی دادههات زیاد میشن یا رابطه بین جداول پیچیده میشه (مثلاً کاربرها، سفارشها، پیامها)، اونجاست که میفهمی چرا باید زودتر با SQLAlchemy شروع میکردی.
#Python #SQLAlchemy #ORM #پایتون #برنامهنویسی
فرض کن یه اپ ساده نوشتی برای ثبتنام کاربر. کاربر یه اسم و ایمیل وارد میکنه، تو هم باید این اطلاعاتو توی دیتابیس ذخیره کنی.
راه اول (سنتی): مستقیم با SQL کار کنی:
import sqlite3
conn = sqlite3.connect('users.db')
cursor = conn.cursor()
cursor.execute("INSERT INTO users (name, email) VALUES (?, ?)", ("pouria", "p@example.com"))
conn.commit()
👆 مشکلش چیه؟
خودت باید جدولها رو بسازی
با هر فیلد جدید باید دستی کوئریتو عوض کنی
رابطه بین جدولها سخته
احتمال اشتباه و باگ بالاست
تست گرفتن و نگهداری پروژه سخت میشه
حالا راه دوم با SQLAlchemy:
class User(Base):
tablename = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
email = Column(String)
session = Session()
user = User(name="pouria", email="p@example.com")
session.add(user)
session.commit()
✅ خیلی تمیزتر
✅ قابل گسترش (مثلاً اضافه کردن فیلد شمارهتلفن، بدون تغییر در کوئریها)
✅ ساخت جدول و مدیریت ارتباطها اتوماتیک
✅ امنیت بیشتر و جلوگیری از SQL Injection
✅ خواناتر، حتی برای تیمهای بزرگ
🎯 SQLAlchemy کمک میکنه بهجای درگیر شدن با جزئیات دیتابیس، روی منطق اپلیکیشن تمرکز کنی.
اگه یه پروژه سادهست، شاید اولش احساس نیاز نکنی. ولی وقتی دادههات زیاد میشن یا رابطه بین جداول پیچیده میشه (مثلاً کاربرها، سفارشها، پیامها)، اونجاست که میفهمی چرا باید زودتر با SQLAlchemy شروع میکردی.
#Python #SQLAlchemy #ORM #پایتون #برنامهنویسی
@PythonFarsi2024
❤1
امروز از ویژگی های جدید پایتون ۳.۱۴ پست میزارم.
https://docs.python.org/3.14/whatsnew/3.14.html
#python #پایتون
https://docs.python.org/3.14/whatsnew/3.14.html
#python #پایتون
@PythonFarsi2024
Python documentation
What’s new in Python 3.14
Editors, Adam Turner and Hugo van Kemenade,. This article explains the new features in Python 3.14, compared to 3.13. Python 3.14 was released on 7 October 2025. For full details, see the changelog...
❤1
♦️ویژگیهای جدید پایتون ۳.۱۴
🔷بخش ۱: ارزیابی تأخیری تایپ آنوتیشنها (Deferred Evaluation of Annotations)
مشکل قبلی:
در نسخههای قدیمیتر، وقتی داخل تایپ آنوتیشنها از کلاس یا نوعی استفاده میکردیم که هنوز تعریف نشده بود، پایتون خطا میداد چون سعی میکرد فوراً اون نوع رو ارزیابی کنه.
مثال مشکلساز:
راهحل در پایتون ۳.۱۴:
با فعال کردن ارزیابی تأخیری، پایتون تایپها رو به صورت رشته نگه میداره و فقط وقتی لازم باشه تبدیل میکنه، پس خطا از بین میره.
کافیه این خط رو اول کد اضافه کنیم:
و بعد:
این کد بدون خطا اجرا میشه.
✔️چرا مهمه؟
این امکان به ما اجازه میده تایپهای بازگشتی یا پیچیده رو راحتتر بنویسیم بدون نگرانی از ترتیب تعریف کلاسها.
#پایتون #python #update
🔷بخش ۱: ارزیابی تأخیری تایپ آنوتیشنها (Deferred Evaluation of Annotations)
مشکل قبلی:
در نسخههای قدیمیتر، وقتی داخل تایپ آنوتیشنها از کلاس یا نوعی استفاده میکردیم که هنوز تعریف نشده بود، پایتون خطا میداد چون سعی میکرد فوراً اون نوع رو ارزیابی کنه.
مثال مشکلساز:
class Node:
def init(self, next_node: Node | None = None): # این خط خطا میده
self.next = next_node
راهحل در پایتون ۳.۱۴:
با فعال کردن ارزیابی تأخیری، پایتون تایپها رو به صورت رشته نگه میداره و فقط وقتی لازم باشه تبدیل میکنه، پس خطا از بین میره.
کافیه این خط رو اول کد اضافه کنیم:
from future import annotations
و بعد:
class Node:
def init(self, next_node: Node | None = None):
self.next = next_node
این کد بدون خطا اجرا میشه.
✔️چرا مهمه؟
این امکان به ما اجازه میده تایپهای بازگشتی یا پیچیده رو راحتتر بنویسیم بدون نگرانی از ترتیب تعریف کلاسها.
#پایتون #python #update
@PythonFarsi2024
❤2
♦️ویژگیهای جدید پایتون ۳.۱۴
🔷بخش ۲: ماژول جدید compression.zstd برای فشردهسازی سریع و بهینه 📦
چی شده؟
پایتون ۳.۱۴ یک ماژول جدید به نام compression.zstd اضافه کرده که به کمک الگوریتم Zstandard فایلها و دادهها رو سریع و به صورت کارآمد فشرده و استخراج میکنه.
✔️چرا مهمه؟
الگوریتم Zstandard (zstd) سرعت بالا و نسبت فشردهسازی بهتر نسبت به gzip و بقیه داره. این یعنی کار با فایلهای بزرگ راحتتر و سریعتر میشه.
مثال ساده:
توضیح:
اول دادهها رو با ZstdCompressor فشرده میکنیم.
بعد با ZstdDecompressor دوباره به حالت اولیه برمیگردونیم.
این ماژول تو خود پایتون ۳.۱۴ هست و نیازی به نصب جداگانه نداره.
#پایتون #python #update
🔷بخش ۲: ماژول جدید compression.zstd برای فشردهسازی سریع و بهینه 📦
چی شده؟
پایتون ۳.۱۴ یک ماژول جدید به نام compression.zstd اضافه کرده که به کمک الگوریتم Zstandard فایلها و دادهها رو سریع و به صورت کارآمد فشرده و استخراج میکنه.
✔️چرا مهمه؟
الگوریتم Zstandard (zstd) سرعت بالا و نسبت فشردهسازی بهتر نسبت به gzip و بقیه داره. این یعنی کار با فایلهای بزرگ راحتتر و سریعتر میشه.
مثال ساده:
import compression.zstd
data = b"سلام دنیا! این یک داده نمونه برای فشردهسازی است."
compressor = compression.zstd.ZstdCompressor()
compressed = compressor.compress(data)
decompressor = compression.zstd.ZstdDecompressor()
decompressed = decompressor.decompress(compressed)
print(decompressed.decode('u`tf-8'))
توضیح:
اول دادهها رو با ZstdCompressor فشرده میکنیم.
بعد با ZstdDecompressor دوباره به حالت اولیه برمیگردونیم.
این ماژول تو خود پایتون ۳.۱۴ هست و نیازی به نصب جداگانه نداره.
#پایتون #python #update
@PythonFarsi2024
❤1
♦️ویژگیهای جدید پایتون ۳.۱۴
🔷بخش ۳: PEP 750 – رشتههای قالبی (Template Strings) 🧩
این قابلیت به شما امکان میدهد رشتههایی بسازید که داخلشان جایگذاری (Placeholder) دارند و میتوانید به راحتی با دادههای دلخواه پرشان کنید.
مثال کاربردی:
خروجی:
چرا این روش بهتر است؟
1⃣ جلوگیری از خطاهای ناشی از قالببندی نادرست رشتهها
2⃣ افزایش امنیت هنگام ساخت رشتههای پویا، مخصوصاً زمانی که دادهها از منابع خارجی میآیند
3⃣ خوانایی و نگهداری بهتر کد
#پایتون #python #update
🔷بخش ۳: PEP 750 – رشتههای قالبی (Template Strings) 🧩
این قابلیت به شما امکان میدهد رشتههایی بسازید که داخلشان جایگذاری (Placeholder) دارند و میتوانید به راحتی با دادههای دلخواه پرشان کنید.
مثال کاربردی:
from string import Template
template = Template("پیغام: $msg، تعداد دفعات: $count")
result = template.substitute(msg="عملیات موفق", count=7)
print(result)
خروجی:
پیغام: عملیات موفق، تعداد دفعات: 7
چرا این روش بهتر است؟
1⃣ جلوگیری از خطاهای ناشی از قالببندی نادرست رشتهها
2⃣ افزایش امنیت هنگام ساخت رشتههای پویا، مخصوصاً زمانی که دادهها از منابع خارجی میآیند
3⃣ خوانایی و نگهداری بهتر کد
#پایتون #python #update
@PythonFarsi2024
👍1
♦️بخش ۴: پشتیبانی رسمی از حالت Free-Threaded و بهبود اجرای چندرشتهای ⚙️
مشکل قبلی:
پایتون به خاطر وجود Global Interpreter Lock (GIL)، فقط اجازه میداد یک رشته (Thread) در هر لحظه کد پایتون را اجرا کند.
این باعث میشد اجرای برنامههای چندرشتهای (Multi-threading) در پایتون واقعاً موازی نباشه و سرعت اجرای همزمان پایین باشه.
چی تغییر کرده؟
در پایتون ۳.۱۴، حالت Free-Threaded به صورت رسمی فعال شده.
یعنی محدودیت GIL برداشته میشه و رشتهها میتونن به طور همزمان و واقعی روی چند هسته CPU اجرا بشن.
چه فایدهای داره؟
برنامههایی که از چند رشته برای پردازش دادهها استفاده میکنن، سریعتر اجرا میشن. مثلاً برنامههای پردازش تصویر، شبکه، یا محاسبات سنگین.
مثال خیلی ساده:
فرض کن دو تابع داریم که میخوان به صورت همزمان اجرا بشن. با Free-Threaded این امکان به صورت واقعی فراهم میشه.
نکته:
برای اینکه واقعا از این ویژگی استفاده کنی، باید کتابخونهها و کدها طوری نوشته شده باشن که با Free-Threaded سازگار باشن.
#پایتون #python #update
مشکل قبلی:
پایتون به خاطر وجود Global Interpreter Lock (GIL)، فقط اجازه میداد یک رشته (Thread) در هر لحظه کد پایتون را اجرا کند.
این باعث میشد اجرای برنامههای چندرشتهای (Multi-threading) در پایتون واقعاً موازی نباشه و سرعت اجرای همزمان پایین باشه.
چی تغییر کرده؟
در پایتون ۳.۱۴، حالت Free-Threaded به صورت رسمی فعال شده.
یعنی محدودیت GIL برداشته میشه و رشتهها میتونن به طور همزمان و واقعی روی چند هسته CPU اجرا بشن.
چه فایدهای داره؟
برنامههایی که از چند رشته برای پردازش دادهها استفاده میکنن، سریعتر اجرا میشن. مثلاً برنامههای پردازش تصویر، شبکه، یا محاسبات سنگین.
مثال خیلی ساده:
فرض کن دو تابع داریم که میخوان به صورت همزمان اجرا بشن. با Free-Threaded این امکان به صورت واقعی فراهم میشه.
نکته:
برای اینکه واقعا از این ویژگی استفاده کنی، باید کتابخونهها و کدها طوری نوشته شده باشن که با Free-Threaded سازگار باشن.
#پایتون #python #update
@PythonFarsi2024
👍1