إن دمج منطق else داخل هياكل التكرار for و while يمثل فرصة هائلة لتعزيز كفاءة البرمجة لدينا.
فإننا نستخدم دورة while كمنصة ديناميكية لتنفيذ الشروط الاستراتيجية حتى نصل إلى حالة النجاح المثالية. 🌟
أما دورة for، فهي أداة قوية لتمكين التكرار الذكي لسطور الكود، مما يحول المهام الروتينية إلى عمليات مؤتمتة. تخيلوا القدرة على تحقيق هدفنا في طباعة الأرقام حتى 10 دون الحاجة إلى 10 مبادرات منفصلة، بل من خلال استغلال تسلسل مدروس يعكس رؤية شاملة! 💡
في بيئة بيثون المتطورة، نحن ممتنون لوجود ميزة تتيح لنا تضمين كتلة else في كلا النوعين من الدورات، وهي ميزة تتفعل فقط عند اكتمال الدورة بنجاح دون الحاجة إلى أي تدخل طارئ عبر break. هذا يعزز من مرونة وسلاسة سير العمل لدينا. 🤝
لنغوص معًا في هذا النموذج الملهِم الذي يوضح كيفية البحث عن "الإبرة" (needle) ضمن "كومة القش" (haystack) لتحقيق أقصى قيمة ممكنة! 📈 #Python #GrowthMindset #TechInnovation #CodingJourney
فإننا نستخدم دورة while كمنصة ديناميكية لتنفيذ الشروط الاستراتيجية حتى نصل إلى حالة النجاح المثالية. 🌟
أما دورة for، فهي أداة قوية لتمكين التكرار الذكي لسطور الكود، مما يحول المهام الروتينية إلى عمليات مؤتمتة. تخيلوا القدرة على تحقيق هدفنا في طباعة الأرقام حتى 10 دون الحاجة إلى 10 مبادرات منفصلة، بل من خلال استغلال تسلسل مدروس يعكس رؤية شاملة! 💡
في بيئة بيثون المتطورة، نحن ممتنون لوجود ميزة تتيح لنا تضمين كتلة else في كلا النوعين من الدورات، وهي ميزة تتفعل فقط عند اكتمال الدورة بنجاح دون الحاجة إلى أي تدخل طارئ عبر break. هذا يعزز من مرونة وسلاسة سير العمل لدينا. 🤝
لنغوص معًا في هذا النموذج الملهِم الذي يوضح كيفية البحث عن "الإبرة" (needle) ضمن "كومة القش" (haystack) لتحقيق أقصى قيمة ممكنة! 📈 #Python #GrowthMindset #TechInnovation #CodingJourney
نصيحة Python : استخدم @property فقط للعمليات O(1) 🐍⚡
يتوقع الناس عادةً أن كل ما يبدو وكأنه وصول إلى سمة يعمل بسرعة ⚡🏃♂️.
لا أحد يريد الضغط على Ctrl-C أثناء قراءة سمة لأن هناك حسابًا مخفيًا لمستوى Deep Thought يستغرق 7.5 مليون سنة ⏳🤯:
يتوقع الناس عادةً أن كل ما يبدو وكأنه وصول إلى سمة يعمل بسرعة ⚡🏃♂️.
لا أحد يريد الضغط على Ctrl-C أثناء قراءة سمة لأن هناك حسابًا مخفيًا لمستوى Deep Thought يستغرق 7.5 مليون سنة ⏳🤯:
>>> life.meaning
42
python_basics.pdf
212.3 KB
أوراق Cheatsheets بتفيدكم في مجال ال Data Analysis وعلوم البيانات✨️.
يسعدنا الإعلان عن تحويل مشروع TeleSpace إلى مشروع مفتوح المصدر (Open Source) ليكون متاحاً بالكامل لمجتمع المطورين 🌎.
لمن لم يتعرف على المشروع بعد، يُعد TeleSpace بيئة تخزين سحابية متكاملة تعتمد على البنية التحتية غير المحدودة لـ Telegram🚀:
ونظراً لأن قوة البرمجيات تكمن في مجتمعها، فإن الكود المصدري متاح الآن للجميع. نرحب بجميع المساهمات، سواء في تحسين الأداء، كتابة الاختبارات، أو تطوير ميزات جديدة تخدم مجتمع المطورين🤝.
🖥رابط المستودع: https://github.com/H55an/TeleSpace
لمن لم يتعرف على المشروع بعد، يُعد TeleSpace بيئة تخزين سحابية متكاملة تعتمد على البنية التحتية غير المحدودة لـ Telegram🚀:
⛏ مبني بالكامل باستخدام لغة Python 🐍.وفي هذا التحديث، تم تزويد النظام بواجهة برمجة تطبيقات (API) متكاملة باستخدام FastAPI⚙️. وتُعد هذه الخطوة الأولى لتحويل TeleSpace من مجرد أداة إلى خدمة BaaS ، مما يتيح للمطورين دمج النظام بسلاسة مع أي تطبيقات أو منصات خارجية، واستخدامه كمحرك أساسي لرفع وإدارة الملفات 👨💻.
⚙️يعتمد على مكتبة Python-Telegram-Bot (PTB) كمحرك أساسي لضمان المعالجة المتزامنة (Asynchronous) والتفاعل عالي الأداء مع خوادم تيليجرام ☄️.
🖥 يستخدم PostgreSQL كنظام أساسي لإدارة البيانات الوصفية للملفات (Metadata)، مما يضمن سلامة البيانات وسرعة الاستعلامات 🖥.
ونظراً لأن قوة البرمجيات تكمن في مجتمعها، فإن الكود المصدري متاح الآن للجميع. نرحب بجميع المساهمات، سواء في تحسين الأداء، كتابة الاختبارات، أو تطوير ميزات جديدة تخدم مجتمع المطورين🤝.
🖥رابط المستودع: https://github.com/H55an/TeleSpace
توليد كل التبديلات المحتملة لكائن قابل للتكرار
تقوم الدالة
إذا لم يتم تحديد
تقوم الدالة
permutations من وحدة itertools بإرجاع مكرر مع تبديلات متتالية من العناصر في التسلسل المدخل iterable. يتم تضمين كل مجموعة في ترتيب يحتوي على r عناصر.إذا لم يتم تحديد
r أو كانت None، فسيكون r بشكل افتراضي يساوي طول iterable وسيتم توليد جميع التبديلات الممكنة بالطول الكامل.الميثود
تُعتبر
كيف تعمل:
على سبيل المثال، سيتم تمثيل البايت الذي قيمته 10 (في النظام العشري) كـ "0a" في النظام السداسي العشري.
()bytes.hexتُعتبر
()bytes.hex ميثود تحول كائن bytes إلى سلسلة سداسية عشرية.كيف تعمل:
تقوم()bytes.hexبإعادة سلسلة تتكون من أرقام سداسية عشرية تمثل كل بايت في كائن bytes.
تأتي الأرقام السداسية العشرية في أزواج، حيث يمثل الرقم الأول النصف الأعلى من البايت، والثاني النصف الأدنى.
على سبيل المثال، سيتم تمثيل البايت الذي قيمته 10 (في النظام العشري) كـ "0a" في النظام السداسي العشري.
الميثود
إن
إذا لم يكن المفتاح موجودًا في القاموس، فإن هذه الميثود تضيف المفتاح إلى القاموس مع القيمة الافتراضية، ثم تُرجع هذه القيمة.
()setdefaultإن
()setdefault في Python تُرجع القيمة حسب المفتاح المحدد من القاموس(dictionary) . إذا لم يكن المفتاح موجودًا في القاموس، فإن هذه الميثود تضيف المفتاح إلى القاموس مع القيمة الافتراضية، ثم تُرجع هذه القيمة.
وتعتبر()setdefaultبأن لها عاملان:
— المفتاح الذي يجب الحصول على القيمة منه.
— القيمة الافتراضية التي سيتم إضافتها إلى القاموس، إذا لم يكن المفتاح موجودًا.
إذا كان المفتاح موجودًا في القاموس، فإن الميثود تُرجع القيمة المرتبطة بهذا المفتاح.
إذا لم يكن المفتاح موجودًا في القاموس، فإنها تضيف المفتاح إلى القاموس مع القيمة الافتراضية، ثم تُرجع هذه القيمة.
🐍حذف صفحات ملف PDF 📄
تتضمن مكتبة PyMuPDF العديد من الطرق المعقدة التي تسهل حذف الصفحات من ملف PDF. فهي تتيح :
يوضح المثال في الصورة كيفية استخدام قائمة لاختيار الصفحات التي يجب الاحتفاظ بها في المستند الأصلي. يرجى ملاحظة أن الصفحات غير المحددة لن تكون جزءًا من المستند الناتج 🚫📁.
في حالتنا من المثال ، سيحتوي المستند الناتج فقط على الصفحات الأولى والثانية والرابعة 📑✅.
تتضمن مكتبة PyMuPDF العديد من الطرق المعقدة التي تسهل حذف الصفحات من ملف PDF. فهي تتيح :
📄 تحديد صفحة واحدة باستخدام دالة()deletePage.
🗓 نطاق معين من أرقام الصفحات باستخدام دالة()deletePageRange.
📝 قائمة بأرقام الصفحات باستخدام دالة()select.
يوضح المثال في الصورة كيفية استخدام قائمة لاختيار الصفحات التي يجب الاحتفاظ بها في المستند الأصلي. يرجى ملاحظة أن الصفحات غير المحددة لن تكون جزءًا من المستند الناتج 🚫📁.
في حالتنا من المثال ، سيحتوي المستند الناتج فقط على الصفحات الأولى والثانية والرابعة 📑✅.
يُعتبر ال deque أفضل من القوائم العادية
يوفر deque تعقيدًا خطيًا
يتوفر لـ deque استخدام الدوال العادية —
#Python | #List | #Deque
(List) عندما تكون هناك حاجة إلى عمليات إضافة وإزالة أسرع للعناصر من بداية ونهاية القائمة🚀.يوفر deque تعقيدًا خطيًا
O(1) لعمليات الإضافة والإزالة ⚡️، بينما تعقيد القوائم العادية لهذه العمليات هو O(n).يتوفر لـ deque استخدام الدوال العادية —
sum، min، max وغيرها 🛠.#Python | #List | #Deque