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

هل تبحث عن طريقة لتحويل أي نص إلى قائمة من الكلمات بسرعة؟

الكود أعلاه يساعدك على ذلك!
إذا كنت تتعامل مع محتوى من النصوص مثل المراجعات أو التعليقات، يمكنك استخدم هذا الكود لاستخراج الكلمات فقط.
مثال :
words('I love Python!!')
#output : ['I', 'love', 'Python']

مفيد جداً لمعالجة النصوص وتحليلها، مثل جمع الكلمات المفتاحية أو استخراج الاسماء.

#Python #Regex #String #DataProcessing
15
إن دمج منطق else داخل هياكل التكرار for و while يمثل فرصة هائلة لتعزيز كفاءة البرمجة لدينا.

فإننا نستخدم دورة while كمنصة ديناميكية لتنفيذ الشروط الاستراتيجية حتى نصل إلى حالة النجاح المثالية. 🌟

أما دورة for، فهي أداة قوية لتمكين التكرار الذكي لسطور الكود، مما يحول المهام الروتينية إلى عمليات مؤتمتة. تخيلوا القدرة على تحقيق هدفنا في طباعة الأرقام حتى 10 دون الحاجة إلى 10 مبادرات منفصلة، بل من خلال استغلال تسلسل مدروس يعكس رؤية شاملة! 💡

في بيئة بيثون المتطورة، نحن ممتنون لوجود ميزة تتيح لنا تضمين كتلة else في كلا النوعين من الدورات، وهي ميزة تتفعل فقط عند اكتمال الدورة بنجاح دون الحاجة إلى أي تدخل طارئ عبر break. هذا يعزز من مرونة وسلاسة سير العمل لدينا. 🤝

لنغوص معًا في هذا النموذج الملهِم الذي يوضح كيفية البحث عن "الإبرة" (needle) ضمن "كومة القش" (haystack) لتحقيق أقصى قيمة ممكنة! 📈 #Python #GrowthMindset #TechInnovation #CodingJourney
4
يُعتبر ال 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
تحليل الشبكة مع NetworkX

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

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

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

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

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

هذه المكتبة تسهل عملية دمج الأوامر الصوتية ومعالجة البيانات الصوتية في مشاريعك. بفضل مجموعة واسعة من الإمكانيات، فإن SpeechRecognition مناسبة لإنشاء تطبيقات ذات تحكم صوتي، ومساعدات ذكية، وأكثر من ذلك بكثير.
#Python | #SpeechRecognition
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👨‍💻1
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
مكتبة 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
نحسب الإشارات(المراجع) للكائن

في Python لا داعي أبدًا للقلق بشأن إدارة الذاكرة، لأن كل هذا يتم تلقائيًا.

عداد المراجع هو ما يساعد في التحقق مما إذا كان يجب تشغيل جمع النفايات أم لا. يقوم جامع النفايات بحذف الكائن من الذاكرة في حالة إذا لم يكن أي شيء لا يشير إليه.

إذا كان كائن آخر يشير إلى الكائن، فإن لديه قيمة غير صفرية من المراجع ولا يمكن جمعه كنفايات (ما لم تقم بحذفه يدويًا بالطبع).

يُظهر المثال أعلاه طريقة بسيطة لكيفية الاطلاع على عدد المراجع للكائن.
#python | #ctypes
5
Web2py🌐

هو إطار عمل مجاني ومفتوح المصدر، مصمم لتطوير تطبيقات ويب آمنة وسريعة تعتمد على قواعد البيانات. تم كتابته بلغة Python ويتم برمجته باستخدام نفس اللغة.

#python | #web2py | #web
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🆒2🔥1
النسخ السطحي

يمكن أن يكون نسخ الكائنات «سطحيًا» (shallow) أو «عميقًا» (deep). تكمن الفروقات بينهما في كيفية معالجة الكائنات المتداخلة.

عند النسخ السطحي، يتم إنشاء كائن جديد، لكن عناصره الداخلية (إذا كانت كائنات أيضًا) تظل مراجعات لنفس الكائنات الموجودة في الأصل. بعبارة أخرى، يتم نسخ المراجع إلى الكائنات فقط، وليس الكائنات نفسها.

#python | #copy
6🆒2🔥1👨‍💻1
استخدام wget في Python لتحميل الملفات

تُعتبر wget أداة سطر أوامر (Cli) لتحميل المحتوى من الانترنت، والتي يمكن استخدامها بفعالية عبر Python. على الرغم من أن Python لا تحتوي على دعم مدمج لـ wget، يمكن استخدام وحدة wget التي تسهل تحميل الملفات.

سيقوم هذا الكود بتحميل الملف من العنوان المحدد وحفظه في المجلد الحالي.

#python | #wget
3👍3🔥2
إرجاع عدة قيم من دالة

هل تعلم أنه يمكنك إرجاع عدة قيم من دالة؟ إليك كيفية القيام بذلك.
#python | #fundamentals
4👍1🔥1🆒1
البحث عن الأخطاء الإملائية

😶تقوم مكتبة spellchecker باكتشاف الأخطاء في النص، كما يمكنها اقتراح خيارات للإصلاح.

في المثال، نمر عبر قائمة من كلمتين، واحدة منهما ('therre') مكتوبة بشكل خاطئ. تلاحظ الدالة correction ذلك وتقترح التصحيح الأكثر احتمالاً ، بينما candidates تقترح عدة خيارات.

🤟تدعم المكتبة تصحيح 12 لغة حاليًا ومنها اللغة العربية .

📄 يمكنك العثور على الوثائق هنا.
#python | #spellchecker
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3🆒2
استخدم ()dict.get بدلاً من []dict

هناك عدة طرق للحصول على القيم من القواميس، وحتى في هذا الموضوع غالبًا ما يختلف المطورون.

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

لذلك نعتقد أنه من الأفضل استخدام طريقة get للقواميس. تكمن ميزتها الرئيسية في أنها تقبل وسيطًا اختياريًا مسؤولًا عن القيمة الافتراضية.

وبالتالي، إذا لم يتم العثور على القيمة للمفتاح، فستُعاد القيمة الافتراضية.

في النهاية، نزيل الأخطاء المحتملة في حالة عدم وجود المفاتيح المطلوبة في القاموس.
#python | #dictionary
6🔥2👏2🆒1
فك ضغط التسلسلات عندما يكون عدد العناصر غير معروف

في Python3 ، يوجد عامل النجمة لعمله قبل اسم متغير (*) - وهو عملية فك ضغط تسلسل موسعة.
يتم تخصيص جزء من القائمة، الذي يحتوي على جميع العناصر غير المخصصة، والمتوافقة مع هذا الموضع، للمتغير الذي يحمل علامة النجمة.

#python
4🔥3🆒1
المدمرات (Destructors)

في معظم لغات البرمجة، عند حذف نسخة من فئة ما، يتم استدعاء طريقة خاصة تسمى "المدمر".

في بايثون، يمكن إعادة تعريف المدمر باستخدام الميثود الخاصة __del__، والتي يتم استدعاؤها تلقائيًا عند حذف الكائن.

بشكل عام، نادرًا ما يتم إعادة تعريف المدمرات في بايثون، ولكن من المفيد معرفة أن هذه الطرق تحديدًا مسؤولة عن عمليات التنظيف عند حذف الكائن.

#python | #class | #objects
5👨‍💻3👍2