Python Tips | بالعربي
2.49K subscribers
172 photos
87 videos
27 files
218 links
عندما تحقق إنجازات، استمر في التعلم ، ف سر نجاح المبرمجين هو الاستمرارية✨️.
Download Telegram
الميثود ()bytes.hex

تُعتبر ()bytes.hex ميثود تحول كائن bytes إلى سلسلة سداسية عشرية.

كيف تعمل:
تقوم ()bytes.hex بإعادة سلسلة تتكون من أرقام سداسية عشرية تمثل كل بايت في كائن bytes.

تأتي الأرقام السداسية العشرية في أزواج، حيث يمثل الرقم الأول النصف الأعلى من البايت، والثاني النصف الأدنى.


على سبيل المثال، سيتم تمثيل البايت الذي قيمته 10 (في النظام العشري) كـ "0a" في النظام السداسي العشري.
👍4
استخدم f-String في Python ومحددات التنسيق لتجميع الجداول بسرعة وبشكل سريع:
d = {'a':10, 'bcd': 2, 'e': 3456}

for key, value in d.items():
print(f'{key:.<5}{value:.>5}')


المخرجات:
a.......10
bcd......2
e.....3456
2
دالة ()islice

دالة ()islice هي دالة من وحدة itertools، تُستخدم لإنشاء عارض (iterator) يعيد العناصر المحددة من كائن قابل للتكرار.

تشبه هذه الدالة شرائح القوائم، لكنها تحتوي على بعض الاختلافات.
1👍4
الميثود ()setdefault

إن ()setdefault في Python تُرجع القيمة حسب المفتاح المحدد من القاموس(dictionary) .
إذا لم يكن المفتاح موجودًا في القاموس، فإن هذه الميثود تضيف المفتاح إلى القاموس مع القيمة الافتراضية، ثم تُرجع هذه القيمة.

وتعتبر ()setdefault بأن لها عاملان:
— المفتاح الذي يجب الحصول على القيمة منه.
— القيمة الافتراضية التي سيتم إضافتها إلى القاموس، إذا لم يكن المفتاح موجودًا.

إذا كان المفتاح موجودًا في القاموس، فإن الميثود تُرجع القيمة المرتبطة بهذا المفتاح.

إذا لم يكن المفتاح موجودًا في القاموس، فإنها تضيف المفتاح إلى القاموس مع القيمة الافتراضية، ثم تُرجع هذه القيمة.
3
🐍حذف صفحات ملف PDF 📄

تتضمن مكتبة PyMuPDF العديد من الطرق المعقدة التي تسهل حذف الصفحات من ملف PDF. فهي تتيح :
📄 تحديد صفحة واحدة باستخدام دالة ()deletePage.
🗓 نطاق معين من أرقام الصفحات باستخدام دالة ()deletePageRange .
📝 قائمة بأرقام الصفحات باستخدام دالة ()select .


يوضح المثال في الصورة كيفية استخدام قائمة لاختيار الصفحات التي يجب الاحتفاظ بها في المستند الأصلي. يرجى ملاحظة أن الصفحات غير المحددة لن تكون جزءًا من المستند الناتج 🚫📁.
في حالتنا من المثال ، سيحتوي المستند الناتج فقط على الصفحات الأولى والثانية والرابعة 📑.
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥2
يُعتبر ال deque أفضل من القوائم العادية (List) عندما تكون هناك حاجة إلى عمليات إضافة وإزالة أسرع للعناصر من بداية ونهاية القائمة🚀.

يوفر deque تعقيدًا خطيًا O(1) لعمليات الإضافة والإزالة ⚡️، بينما تعقيد القوائم العادية لهذه العمليات هو O(n).

يتوفر لـ deque استخدام الدوال العادية — sum، min، max وغيرها 🛠.

#Python | #List | #Deque
Please open Telegram to view this post
VIEW IN TELEGRAM
🆒6👍4
يُعتبر Daphne خادم HTTP و HTTP2 و WebSocket مخصص لـ ASGI و ASGI-HTTP، تم تطويره لدعم Django Channels 🤝👩‍💻.

يدعم التوافق التلقائي للبروتوكولات؛ فلا حاجة لإضافة بادئات لعناوين URL لتحديد نقاط نهاية WebSocket مقارنة بنقاط نهاية HTTP🌐.

#Advanced | #Django | #ASGI
Please open Telegram to view this post
VIEW IN TELEGRAM
4👨‍💻2
أي شخص مهتم بالمجال البرمجي انصحك وبقوة بهذه الصفحة ، فيها فريق متكامل ومتميز

حتى وإن لم تكن مهتم بالمحتوى شارك غيرك يستفيد حفظكم الله
اريد اشوف تحويلات لقنواتكم فضلًا.🔥

الأفكار العظيمة تبدأ بسطر كود…
لكنها تكبر مع مجتمع يشارك الشغف نفسه

في كوديان نصنع حلولًا رقمية تربط التقنية بالمستقبل،
ونشارك باستمرار محتوى برمجي، أفكار تطوير، وتصاميم تقنية تلهم المطورين وصنّاع المشاريع 👨‍💻

انضم إلى مجتمعنا الرقمي وابقَ قريبًا من كل جديد:

*🔵 Facebook*
https://facebook.com/CodianTeam

*🟣 Instagram*
https://www.instagram.com/CodianTeam

*🟢 WhatsApp*
https://whatsapp.com/channel/0029Vb6ysOvElah0xq7PhH0s


> اختر منصتك المفضلة… وادخل عالم كوديان.
> هنا تبدأ الرحلة التقنية بشكل مختلف
5
تحليل الشبكة مع NetworkX

هي مكتبة Python لتحليل الشبكات المعقدة.

توفر هيكل بيانات للعمل مع الرسوم
البيانية (الشبكات) وتنفذ العديد من الخوارزميات لتحليل البيانات الشبكية وتصورها.

يمكن استخدامها في مجالات مختلفة، مثل الشبكات الاجتماعية، والبيولوجية، والنقل، وشبكات الحاسوب، وغيرها الكثير.
#Python | #Networking
4👍1
العمليات على ملفات zip 

يمكنك استخدام المكتبة المضمنة zipfile للتعامل مع ملفات zip. لمن نسي، فإن ملف zip هو أرشيف يحتوي على ملفات مضغوطة. 

يمكن عرض محتويات الأرشيف باستخدام دالة printdir، واستخراج جميع الملفات عن طريق استدعاء extractfile. 

كما تتيح هذه المكتبة إنشاء أرشيفات zip خاصة بك، لكننا قررنا عدم تعقيد المثال، لذا نرفق ببساطة رابطًا إلى التوثيق الخاص بها. 
#zipfile 📦🔍
Please open Telegram to view this post
VIEW IN TELEGRAM
2👨‍💻1🆒1
التعرف على الكلام باستخدام SpeechRecognition🎙

هي مكتبة بلغة Python توفر القدرة على استخدام واجهات برمجة التطبيقات (API) للتعرف على الكلام من شركات مختلفة مثل Google وMicrosoft وIBM وغيرها.

علاوة على ذلك، تدعم العمل في الوضع غير المتصل بالإنترنت (Offline).

هذه المكتبة تسهل عملية دمج الأوامر الصوتية ومعالجة البيانات الصوتية في مشاريعك. بفضل مجموعة واسعة من الإمكانيات، فإن SpeechRecognition مناسبة لإنشاء تطبيقات ذات تحكم صوتي، ومساعدات ذكية، وأكثر من ذلك بكثير.
#Python | #SpeechRecognition
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👨‍💻1
التعامل مع العدد العشري Decimal والكسر Fraction🧮

بسبب تخزين الأعداد الكسرية ذات الفاصلة العائمة بصيغة ثنائية، نعمل عادةً مع قيم تقريبية، كما هو موضح في الخيار الأول في لقطة الشاشة 📸.

للحصول على نتائج أكثر دقة، يمكن استخدام الفئة Decimal، لكنها قد لا تكفي في بعض الحالات⚠️.

في هذا الصدد، من الأفضل استخدام الفئة Fraction للحسابات المثالية، لأنها تعمل مع الأعداد بصيغة كسور نسبية🎯.
#decimal
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥1👨‍💻1🆒1
دالة ()sample

دالة ()sample في مكتبة random في بايثون تعيد عينة عشوائية من العناصر من قائمة معين🎰.

في المعامل الأول للدالة، نحدد السلسلة التي سيختار منها ، وفي المعامل الثاني، نحدد عدد العناصر التي نريد اختيارها بشكل عشوائي🎲.
Please open Telegram to view this post
VIEW IN TELEGRAM
5🆒1
ال Underscore أو _

في بايثون، يمكن أن يتكون اسم المتغير من Underscore (_) واحدة.

على الرغم من أن هذا الاسم ليس وصفيًا بما يكفي ولا ينبغي استخدامه، إلا أن هناك على الأقل ثلاث حالات يكون فيها _ له معنى مقبول عمومًا.

أولاً، يُستخدم _ عندما تحتاج إلى تسمية قيم لا تهتم بها _ على سبيل المثال، في حلقات for.

ثانيًا، يستخدم _ لتخزين نتيجة آخر تعبير تم تنفيذه.

ثالثًا، توثيق وحدة gettext يقترح استخدام الاسم المستعار ()_ للدالة ()gettext لتقليل ازدحام كودك.
5👨‍💻1
خدعة مع f-string

أعتقد أن الجميع يعرف بالفعل عن f-string كطريقة للتنسيق. أتذكر أنها ظهرت لأول مرة في Python 3.6.

لكن تم إضافة ميزة رائعة أخرى في التحديث 3.8 — يمكنك عرض اسم المتغير وقيمته مباشرةً بإضافة علامة المساواة كما هو موضح في الصورة.
#strings
👍3🆒2
Forwarded from Open Source (TeleSpace)
📦 teng-lin/notebooklm-py

توفر هذه المكتبة API بلغة Python للوصول الشامل إلى ميزات Google NotebookLM الغير متوفرة على واجهة الويب الرسمية💸.

تدعم المكتبة التكامل مع سطور الأوامر (CLI) والوحدات البرمجية، بالإضافة إلى دمجها بسلاسة في بيئات تطوير الذكاء الاصطناعي مثل Claude Code وCodex🤖.

🚀 لماذا تحتاج إليها؟
الوصول إلى وظائف متقدمة في NotebookLM غير متوفرة عبر واجهة الويب الرسمية.
تمكين تطوير مشاريع بحثية وتطبيقات مخصصة بدقة.
تسهيل دمج قدرات الذكاء الاصطناعي ضمن أدوات التطوير الحالية.

#opensource | #github | #dev | #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42👨‍💻1
معالجة أرقام الهواتف📱

تعتمد الحزمة phonenumbers على مكتبة libphonenumber من Google، والتي تتيح تنسيق وتحليل والتحقق من أرقام الهواتف.

الفئة الرئيسية التي تمثل الرقم هي PhoneNumber. يمكن إنشاء كائن عن طريق استدعاء طريقة ()parse وتمرير رقم الهاتف كسلسلة نصية في الحجة. يمكن أيضًا تحديد الدولة كحجة ثانية.

بشكل عام، استخدام الحزمة بسيط جدًا، والأمثلة الأساسية متوفرة في الصورة.

يمكنك أيضًا الاطلاع على التوثيق للاستخدام المتقدم.

#python | #phonenumbers
Please open Telegram to view this post
VIEW IN TELEGRAM
3
ترتيب القوائم بناءً على مفتاح🖍

للقوائم ميثود تسمى ()sort تقوم بترتيب العناصر.
كما يوجد فيها وسيط reverse يسمح بترتيب العناصر في الترتيب العكسي عند تعيين قيمته إلى True↩️.

ولكن هناك أيضًا وسيط key مسؤول عن معيار الترتيب. يستقبل هذا الوسيط دالة تُطبق على كل عنصر، والنتيجة المعادة هي المعيار الذي سيتم بناءً عليه الترتيب⚙️.

في الكود الموضح في الصورة، لدينا قائمة من القواميس تحتوي على أوصاف للسيارات. وقد قمنا بترتيب القائمة حسب سنوات إصدارها، أي بناءً على المفتاح 'year'📆.

كما تم استخدام الدوال المجهولة (Lambda) بدلاً من كتابة الدوال العادية، وذلك لتثبيت الموضوع الحديث عنها🛸.
#lists
Please open Telegram to view this post
VIEW IN TELEGRAM
6👨‍💻2🆒1
مكتبة ZeroLLM مشروع صغير اشتغلت عليه مؤخراً لجعل عملية الوصول لنماذج الذكاء الإصطناعي المجانية سهل ومرن جدًا .

فالمشكلة الحقيقية هي عندما تربط نموذج AI مجاني بمشروعك تتفاجأ بعد فترة بسيطة أنه صار مدفوع أو توقف ، وتضطر للبحث عن نموذج مجاني آخر وتروح تعدل الكود تبعك عشان تسوي إعدادات الربط مع النموذج الجديد وهكذا ...🌀
وهذه أكبر مشكلة عانيتها عند ربط ال AI لعمل المساعد الذكي في بوت TeleSpace ، كان كل يومين ينهار إلى أن يئست منه ولم أصلحه آخر مرة😅.

لذلك قمت بعمل هذا المشروع كحل جذري وهو عبارة عن مكتبة Python خفيفة فكرتها ببساطه :
انه لو حابب تستخدم نماذج ذكاء اصطناعي قوية بشكل مجاني تماماً وبدون أي تكلفة، المكتبة هذي راح تتولى كل شيء عنك خلف الكواليس🔡.
بدل ما تجلس تبحث عن نموذج مجاني وتسوي إعدادات الربط يدويًا وبعد يومين يتوقف عليك🙂💔.

هذه المكتبة تقوم ب :
البحث تلقائياً عن النماذج اللي تكلفتها 0$ حالياً على منصة OpenRouter وتفلترها🪣.
اختيار أفضل نموذج مجاني متاح وتبدأ تتواصل معاه.
والأهم من هذا كله: لو حصل أي عطل أو بطء بالنموذج أثناء الاستخدام، المكتبة وبشكل ذكي وسريع راح تستبعده وتجرب نموذج مجاني ثاني شغال فوراً، بدون ما يوقف الكود تبعك أو ينهار تطبيقك!
كل اللي عليك تسويه هو إنك ترسل أسئلتك المباشرة كـ (نص عادي) عبر دالة ()chat الخاصة بالمكتبة وهي تجيب لك الرد من أفضل نموذج مجاني متوفر بلمح البصر وببلاش🤑.

المشروع مفتوح المصدر بالكامل وجاهز للتجربة🤝.

🖥 GitHub Repo : https://github.com/H55an/ZeroLLM

#Python | #AI | #LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🆒2