بايثون العرب
10.4K subscribers
871 photos
183 videos
770 links
Download Telegram
✨ تخصيص فلاتر القوائم في بايثون!

هل سئمت من البحث اليدوي في القوائم؟ تعلم كيف تستخدم `filter()` و `lambda` لإنشاء فلاتر ديناميكية وقوية بكفاءة عالية.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)


الدالة `filter()` تأخذ دالة (هنا `lambda`) وقائمة. تقوم بتطبيق الدالة على كل عنصر في القائمة وترجع فقط العناصر التي تكون نتيجتها `True`. `lambda x: x % 2 == 0` هي دالة بسيطة تتحقق مما إذا كان الرقم زوجيًا.

['#بايثون', '#برمجة', '#تطوير', '#lambda', '#filter', '#قوائم']
🚀 تسريع دوال Python باستخدام List Comprehensions!

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

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


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

['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#نصائح_برمجية']
❤1
💡 تحسين أداء Python باستخدام List Comprehensions 💡

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

squares = [x**2 for x in range(10)]
print(squares)

# مقارنة مع الطريقة التقليدية:
numbers = range(10)
squares_traditional = []
for x in numbers:
squares_traditional.append(x**2)
print(squares_traditional)


List Comprehensions توفر طريقة موجزة لإنشاء القوائم. الصيغة العامة هي `[expression for item in iterable if condition]`. إنها أسرع وأكثر قابلية للقراءة من حلقات `for` التقليدية لإنشاء القوائم.

['#Python', '#برمجة', '#ListComprehensions', '#كود', '#تطوير', '#نصائح_برمجة']
✨ تحسين أداء Python باستخدام List Comprehensions ✨

هل سئمت من كتابة حلقات `for` طويلة ومملة؟ تعرف على List Comprehensions في بايثون، طريقة أنيقة ومختصرة لإنشاء القوائم!

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


الكود أعلاه يقوم بإنشاء قائمة جديدة 'squares' تحتوي على مربعات كل عنصر في القائمة الأصلية 'numbers'. إنها صيغة مختصرة وفعالة مقارنة باستخدام حلقة `for` تقليدية.

['#Python', '#برمجة', '#ListComprehensions', '#تعلم_بايثون', '#كود']
🚀 تحسين أداء Python: استخدام list comprehensions! 🚀

هل تريد كتابة كود Python أكثر كفاءة وقراءة؟ لست بحاجة إلى تعقيد الأمور! استكشف قوة list comprehensions.

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

# مقارنة بالكود التقليدي:
# squares_traditional = []
# for x in numbers:
# squares_traditional.append(x**2)
# print(squares_traditional)


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

['#Python', '#برمجة', '#ListComprehensions', '#كود_نظيف', '#تطوير_الويب']
✨ تحسين سرعة 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', '#تطوير', '#نصائح_برمجية']
🚀 تحسين أداء Python: استخدام `enumerate` بكفاءة!

هل سئمت من كتابة عدادات يدوية في حلقات Python؟ إليك طريقة أنيقة ومحسّنة لاستخدام `enumerate`!

my_list = ['apple', 'banana', 'cherry']

for index, value in enumerate(my_list):
print(f"Item {index}: {value}")

# مقارنة بالطريقة التقليدية:
# count = 0
# for item in my_list:
# print(f"Item {count}: {item}")
# count += 1


الدالة `enumerate()` في Python تُرجع كائنات `enumerate` التي تحتوي على أزواج (مؤشر، عنصر) من قائمة أو أي كائن قابل للتكرار. هذا يجعل الكود أكثر وضوحًا وإيجازًا مقارنة بإدارة عداد يدوي.

['#Python', '# البرمجة', '# تطوير', '# نصائح_برمجية', '#enumerate']
🚀 نصائح سريعة في بايثون: استخدام enumerate() 🚀

هل سئمت من تتبع الفهارس يدوياً في حلقات التكرار؟ إليك الحل الأمثل!

my_list = ['تفاحة', 'موز', 'كرز']
for index, value in enumerate(my_list):
print(f"الفهرس: {index}, القيمة: {value}")


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

['#بايثون', '#برمجة', '#enumerate', '#نصائح_برمجية', '#Python']
🚀 شرح مبسط لمعالجة الأخطاء في بايثون!

هل سئمت من توقف برنامجك فجأة؟ تعلم كيف تتعامل مع الأخطاء بذكاء باستخدام try-except في بايثون.

def divide_numbers(a, b):
try:
result = a / b
print(f"النتيجة هي: {result}")
except ZeroDivisionError:
print("خطأ: لا يمكنك القسمة على صفر!")
except TypeError:
print("خطأ: تأكد أن المدخلات أرقام صحيحة.")
finally:
print("انتهت عملية القسمة.")

divide_numbers(10, 2)
divide_numbers(10, 0)
divide_numbers(10, "a")


نستخدم كتلة `try` لتجربة الكود الذي قد يسبب خطأ. إذا حدث خطأ، يتم الانتقال إلى كتلة `except` المناسبة (مثل `ZeroDivisionError` أو `TypeError`) لتنفيذ كود بديل. كتلة `finally` تُنفذ دائمًا، سواء حدث خطأ أم لا، وهي مفيدة لتنظيف الموارد.

['#بايثون', '#برمجة', '#تعلم_البرمجة', '#معالجة_الأخطاء', '#Python', '#Programming', '#ErrorHandling']
✨ تحسين أداء Python: استخدام `collections.deque` 🚀

هل تعاني من بطء عمليات الإضافة والحذف من بداية أو نهاية القوائم في Python؟ 🤔 تعرف على `deque` من وحدة `collections` وكيف يمكن أن تحدث فرقاً كبيراً!

from collections import deque

my_list = [1, 2, 3, 4, 5]
my_deque = deque(my_list)

# إضافة عنصر في البداية
my_deque.appendleft(0)
print(f"بعد الإضافة في البداية: {my_deque}")

# إضافة عنصر في النهاية
my_deque.append(6)
print(f"بعد الإضافة في النهاية: {my_deque}")

# حذف عنصر من البداية
first_element = my_deque.popleft()
print(f"العنصر المحذوف من البداية: {first_element}")
print(f"بعد الحذف من البداية: {my_deque}")

# حذف عنصر من النهاية
last_element = my_deque.pop()
print(f"العنصر المحذوف من النهاية: {last_element}")
print(f"بعد الحذف من النهاية: {my_deque}")


الكائن `deque` (double-ended queue) مصمم خصيصاً لعمليات الإضافة والحذف السريعة من كلا الطرفين (البداية والنهاية). على عكس القوائم العادية في Python، حيث تكون عمليات `insert(0, ...)` و `pop(0)` مكلفة (تتطلب إعادة ترتيب العناصر)، فإن `deque` توفر أداءً بزمن ثابت O(1) لهذه العمليات. هذا يجعله مثالياً للحالات التي تحتاج فيها إلى بناء هياكل بيانات مثل قوائم الانتظار أو المكدسات بكفاءة عالية.

['#Python', '#برمجة', '#تطوير', '#علوم_البيانات', '#كود', '#نصائح_برمجية', '#Collections', '#Deque']
❤1
🐍 تحويل النصوص إلى كلام في بايثون! 🗣️

هل تريد أن تجعل برنامج بايثون الخاص بك يتحدث؟ إليك طريقة سهلة باستخدام مكتبة gTTS (Google Text-to-Speech).

from gtts import gTTS
import os

text = "مرحباً بك في عالم بايثون!"
speech = gTTS(text=text, lang='ar')
speech.save("welcome.mp3")
os.system("start welcome.mp3") # أو "afplay welcome.mp3" على macOS


قم بتثبيت المكتبة: pip install gTTS. ثم، استورد gTTS و os. حدد النص الذي تريد تحويله، وحدد اللغة ('ar' للعربية). قم بإنشاء كائن gTTS واحفظ الصوت كملف MP3. أخيراً، استخدم os.system لتشغيل الملف الصوتي.

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

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

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


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

['#Python', '#برمجة', '#ListComprehensions', '#كود', '#تطوير']
✨ تحسين أداء Python باستخدام List Comprehensions! 🚀

هل تريد كتابة كود Python أكثر اختصارًا وسرعة؟ تعرف على List Comprehensions وكيف يمكنها تبسيط مهامك!

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

# مقارنة مع الطريقة التقليدية:
# squares_traditional = []
# for x in numbers:
# squares_traditional.append(x**2)
# print(squares_traditional)


List comprehensions توفر طريقة موجزة لإنشاء القوائم. بدلًا من استخدام حلقة `for` و `append`، يمكنك كتابة تعبير واحد لإنشاء القائمة المطلوبة، مما يجعل الكود أسهل للقراءة وأكثر كفاءة.

['#Python', '#برمجة', '#ListComprehensions', '#كود', '#تطوير']
✨ تحسين أداء Python: استخدام Walrus Operator (:=) 🐍

هل تريد كتابة كود Python أكثر إيجازًا وكفاءة؟ تعرف على عامل التعيين (Walrus Operator) الجديد في Python 3.8+

import re

text = "Hello, world!"

# بدون Walrus Operator
match = re.search(r'world', text)
if match:
print(f"Found: {match.group()}")

# مع Walrus Operator (:=)
if (match := re.search(r'world', text)):
print(f"Found: {match.group()}")


يسمح لك عامل التعيين (:=) بتعيين قيمة لمتغير كجزء من تعبير. هذا يجعل الكود أقصر وأكثر قابلية للقراءة في بعض الحالات، مثل التحقق من نتيجة دالة تعيين.

['#Python', '#WalrusOperator', '#CodingTips', '#Programming', '#Python38']
❤1
💡 تحسين أداء Python باستخدام List Comprehensions! 🚀

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

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


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

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

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

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

# الطريقة التقليدية:
# squares_old = []
# for n in numbers:
# squares_old.append(n**2)
# print(squares_old)


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

['#Python', '#برمجة', '#ListComprehensions', '#تطوير', '#نصائح_برمجية']
💡 نصيحة بايثون سريعة: فك ضغط القوائم بكفاءة! 🐍

هل سئمت من كتابة حلقات متكررة لفك ضغط القوائم؟ إليك طريقة بايثون المختصرة والفعالة باستخدام `*`!

my_list = [1, 2, 3]
new_list = [*my_list, 4, 5]
print(new_list)


المعامل `*` (النجمة) يُستخدم لفك ضغط عناصر القائمة (أو أي iterable آخر) مباشرة داخل قائمة جديدة. هذا يجعل الكود أقصر وأكثر قابلية للقراءة.

['#بايثون', '#برمجة', '#نصائح_برمجية', '#PythonTips', '#ListUnpacking']
❤1
🚀 تسريع دوال Python باستخدام List Comprehensions!

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

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


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

['#Python', '#برمجة', '#ListComprehensions', '#PythonTips', '#تطوير']
💡 اختصارات سحرية في بايثون! 🐍

هل سئمت من كتابة الأكواد الطويلة؟ اكتشف بعض الحيل السريعة في بايثون لتجعل حياتك كمبرمج أسهل!

my_list = [1, 2, 3, 4, 5]

# بدون اختصار
new_list_long = []
for item in my_list:
new_list_long.append(item * 2)

# مع اختصار (List Comprehension)
new_list_short = [item * 2 for item in my_list]

print(new_list_long)
print(new_list_short)


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

['#بايثون', '#برمجة', '#Python', '#Coding', '#ListComprehension', '#Tips']
🐍 تحسين أداء Python باستخدام List Comprehensions ✨

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

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

# مقارنة مع الطريقة التقليدية:
squares_loop = []
for x in numbers:
squares_loop.append(x**2)
print(squares_loop)


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

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