بايثون العرب
10.5K subscribers
866 photos
183 videos
768 links
Download Telegram
✨ تحسين أداء Python: استخدام `enumerate` بكفاءة ✨

هل سئمت من كتابة عدادات يدوية في حلقات Python؟ دعنا نتعرف على `enumerate` وكيف تجعل الكود الخاص بك أكثر أناقة وكفاءة!

my_list = ['تفاحة', 'موز', 'كرز']

for index, value in enumerate(my_list):
print(f"العنصر رقم {index} هو: {value}")

# يمكنك أيضاً تحديد نقطة بداية للعد
for index, value in enumerate(my_list, start=1):
print(f"العنصر رقم {index} هو: {value}")


الدالة `enumerate()` تسمح لك بالمرور على قائمة (أو أي كائن قابل للتكرار) مع الحصول على كل من الفهرس (index) والقيمة (value) في نفس الوقت. هذا يلغي الحاجة لتعريف متغير عداد منفصل ويزيد من قابلية قراءة الكود. يمكن أيضاً تحديد قيمة البداية للعداد باستخدام الوسيط `start`.

['#Python', '#برمجة', '#تعليم_برمجة', '#enumerate', '#كود_نظيف', '#نصائح_برمجة']
❤1
تخيل تتخرج من جامعة برينستون وتحصل على الدكتوراه، وتقدم على 2300 وظيفة، وفي النهاية ما تحصل وظيفة

جاك وايس، باحث أمريكي عمره 30 سنة، لمدة سنتين كان يبحث عن وظيفة بعد حصوله على الدكتوراه في الهندسة الكيميائية من جامعة برينستون.

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

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

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

الآن الرجل يعيش مع أهله ويفكر يغير تخصصه بالكامل، وحتى أمه راجعت سيرته الذاتية بنفسها، لكنها ما قدرت تفهم ليش كل هذه الشركات ترفض توظيفه.

باختصار، هذا حال سوق العمل اليوم
🚀 تحسين أداء Python: استخدام List Comprehensions

هل تبحث عن طريقة لكتابة كود Python أكثر إيجازًا وفعالية؟ تعرف على List Comprehensions وكيف يمكنها تبسيط عمليات إنشاء القوائم!

numbers = [1, 2, 3, 4, 5]
squares = [n**2 for n in numbers]
print(squares)


List Comprehensions توفر طريقة أنيقة لإنشاء القوائم. في هذا المثال، ننشئ قائمة 'squares' تحتوي على مربعات كل رقم في القائمة الأصلية 'numbers' في سطر واحد فقط.

['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#كود']
دخلت اشوف وجهات النظر بالتعليقات ولقيت هذا الاقتباس وهو الوحيد اللي ماقدرت افهم تفكير صاحبه ولاقدرت افهم ايش دخل المسلسلات بوظائف امريكا 😅
الذكاء الاصطناعي بدل ما يتسبب بفقدان الوظائف، هذه المرة تسبب في توظيف ألف مبرمج دفعة واحدة😂

القصة بدأت مع بنك أوف أمريكا (Bank of America)، اللي أطلق عدة مشاريع تعتمد على الذكاء الاصطناعي بهدف تحسين الكفاءة وتقليل التكاليف.

لكن اللي حصل كان عكس المتوقع، نموذج Mythos اكتشف عدد صخم من الثغرات الأمنية في الأنظمة البرمجية للبنك.

وعلشان يصلحوا هذه الثغرات بأسرع وقت ممكن، اضطر البنك إلى الاستعانة بألف مبرمج فريلانسر، بالإضافة إلى 3000 موظف بالبنك من قبل.

وفي النهاية، وصلت تكاليف معالجة المشكلات البرمجية إلى مئات الملايين من الدولارات خلال ربع سنة واحد.

يعني بدل ما يوفرون الفلوس باستخدام الذكاء الاصطناعي، رجعوا يدفعون مئات الملايين لإصلاح المشكلات اللي اكتشفها 😂
🚀 تحسين أداء Python: فهم GIL

هل تساءلت يومًا لماذا قد لا تستفيد برامج Python المتعددة الخيوط (multithreaded) دائمًا من المعالجات متعددة النوى؟ الجواب يكمن في Global Interpreter Lock (GIL). دعنا نتعمق!

import threading
import time

def cpu_bound_task():
count = 0
while count < 100000000:
count += 1

start_time = time.time()

thread1 = threading.Thread(target=cpu_bound_task)
thread2 = threading.Thread(target=cpu_bound_task)

thread1.start()
thread2.start()

thread1.join()
thread2.join()

end_time = time.time()
print(f"الوقت المستغرق: {end_time - start_time:.2f} ثانية")


في هذا الكود، نقوم بتشغيل مهمتين تستهلكان وحدة المعالجة المركزية (CPU-bound) بالتوازي باستخدام الخيوط. ومع ذلك، بسبب GIL، لن يتمكن سوى خيط واحد من تنفيذ كود Python في أي وقت، مما يحد من الاستفادة الحقيقية من تعدد النوى. للمهام التي تستهلك وحدة المعالجة المركزية، غالبًا ما تكون مكتبات مثل `multiprocessing` أو استخدام لغات أخرى أفضل.

['#Python', '#برمجة', '#GIL', '#تعدد_الخيوط', '#تحسين_الأداء', '#علوم_البيانات']
انصاف للأخ الاوسط 😂
مبرمجين PHP كيف حالكم 😂😂
اخر تغريدة ترجمتها بال ChatGPT وماراجعت المواقع المذكورة وكان فيها موقع ماله داعي اذكره وماكنت اعرف ايش هو علشان كذا حذفت التغريدة بعد ماتأكدت
قلت لكم HTML افضل لغة برمجة ماصدقتم، للان هي الوحيدة مافيها مشاكل
💡 تحسين أداء Python باستخدام List Comprehensions!

هل تبحث عن طريقة لكتابة أكواد Python أكثر إيجازًا وكفاءة؟ إليك لمحة سريعة عن List Comprehensions!

numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)


List Comprehensions توفر طريقة مختصرة لإنشاء القوائم. بدلًا من كتابة حلقة for تقليدية، يمكنك كتابة نفس المنطق في سطر واحد، مما يجعل الكود أسهل في القراءة وأسرع في التنفيذ.

['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#نصائح_برمجية']
كل مره اكتب شي على HTML اكون متوقع الردود 😂
اول مره كنت بنسرق, للاسف الايميل شكله احترافي ووصلني لبريد @Ghurarapp ودخلت الرابط وانتبهت انه الرابط طويل ورحت اشيك والا كنت بنسرق اليوم. انتبهوا رسائل التصيد كل يوم تتطور
✨ تحسين استخدام الذاكرة في Python: دليل سريع

هل تعاني من استهلاك ذاكرة عالٍ في برامج Python الخاصة بك؟ إليك طريقة بسيطة وفعالة لتحسين ذلك باستخدام المولدات (Generators).

def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1

# استخدام المولد
counter = count_up_to(1000000)

# يمكنك المرور على القيم دون تحميلها كلها في الذاكرة
# for number in counter:
# print(number)


بدلاً من إنشاء قائمة كاملة في الذاكرة (مثل list(range(1, 1000001))), يستخدم المولد `yield` لإرجاع القيم واحدة تلو الأخرى عند الحاجة. هذا يقلل بشكل كبير من استهلاك الذاكرة، خاصة مع مجموعات البيانات الكبيرة.

['#Python', '#برمجة', '#تحسين_الأداء', '#الذاكرة', '#Generators', '#مطور_بايثون']
💡 تحسين أداء Python باستخدام List Comprehensions!

هل تريد كتابة كود Python أكثر إيجازًا وفعالية؟ دعنا نستكشف قوة List Comprehensions!

numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)


List Comprehensions توفر طريقة مختصرة لإنشاء قوائم. بدلًا من كتابة حلقة for تقليدية، يمكنك إنشاء قائمة جديدة في سطر واحد، مما يجعل الكود أسهل في القراءة وأسرع في التنفيذ.

['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#نصائح_برمجة']
❤1