أسوأ 3 تعبيرات سطر واحد في بايثون يجب تجنبها
1. استخدام تعبير القائمة للأغراض الجانبية
تعبير القائمة ينشئ قائمة، وليس "تأثيرات جانبية". في النهاية نحصل على قائمة غير مفهومة من None.
2. ضغط الدالة في سطر واحد
من الناحية الشكلية هذا يعمل، لكن حتى المنطق البسيط يصبح أقل قابلية للقراءة.
3. الجنون باستخدام الفواصل المنقوطة
وضع كل شيء في سطر واحد باستخدام
1. استخدام تعبير القائمة للأغراض الجانبية
data = [print(i**2) for i in range(100) if i % 2 == 0]
تعبير القائمة ينشئ قائمة، وليس "تأثيرات جانبية". في النهاية نحصل على قائمة غير مفهومة من None.
2. ضغط الدالة في سطر واحد
def f(a, b=1): return a * b if a > 0 else a + b
من الناحية الشكلية هذا يعمل، لكن حتى المنطق البسيط يصبح أقل قابلية للقراءة.
3. الجنون باستخدام الفواصل المنقوطة
a = 1; b = 2; c = a + b; print(c * 2 ** a + b)
وضع كل شيء في سطر واحد باستخدام
; هو قتل للقراءة. قسمها إلى عدة أسطر، وسيصبح الأمر أسهل للجميع.❤2🔥2👍1👨💻1
.
كنت أعرف منذ زمن عن📱 .
لكن فقط اليوم علمت أنه يمكن تعيين قيمة افتراضية لكل المفاتيح😑 .
كنت أظن أنه يجب دائمًا تهيئة القاموس بحيث تشير كل المفاتيح إلى None🎓 .
كنت أعرف منذ زمن عن
dict.fromkeys في Pythonلكن فقط اليوم علمت أنه يمكن تعيين قيمة افتراضية لكل المفاتيح
كنت أظن أنه يجب دائمًا تهيئة القاموس بحيث تشير كل المفاتيح إلى None
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👨💻1
.
يمكنك جعل الوسائط في الدالة موضعية فقط باستخدام الرمز
العلامة🤷♀ .
يمكنك جعل الوسائط في الدالة موضعية فقط باستخدام الرمز
/ في توقيع الدالة.def add(x, y, /):
return x + y
add(1, 2)
add(x=1, y=2) # TypeError: add() got some positional-only arguments passed as keyword arguments: 'x, y'
العلامة
/ تعني أن جميع الوسائط الموجودة على يسارها يجب أن تُمرر بالترتيب (positional-only arguments)، ولا يمكن تمريرها باستخدام أسمائها (keyword arguments)Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
والآن لم تعد مطور بايثون فقط، بل أصبحت خبيرًا في التلفزيونات وتفعيل "واتساب" وكل شيء له علاقة بالهواتف🤷♀ .
وإلا ستسمع الجملة المشهورة " ها ايش درست!! "🎓 .
وإلا ستسمع الجملة المشهورة " ها ايش درست!! "
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣5❤1
العقبة الخفية للمبتدئين في بايثون
طريقة strip لا تزيل جزء فرعي من النص ، بل تزيل أي رموز معطاه موجوده في النص . إذا كنت تريد إزالة نص فرعي معين في البداية أو النهاية، استخدم
طريقة strip لا تزيل جزء فرعي من النص ، بل تزيل أي رموز معطاه موجوده في النص . إذا كنت تريد إزالة نص فرعي معين في البداية أو النهاية، استخدم
removeprefix أو removesuffixtext = "#==Hello###"
text.strip('#=')
# 'Hello' — يزيل الرموز # و =
text.strip('=#')
# 'Hello' — نفس النتيجة، الترتيب لا يهم
# strip لا يزيل السلسلة الفرعية "#="
# هو يزيل الرموز # و =
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
:= التعيين مباشرة داخل التعبيرفي بايثون هناك ميزة غير معروفة كثيرًا: يمكن استخدام عامل التعيين := (ويُسمى أيضًا «walrus»).
يسمح لك بتعيين قيمة مباشرة داخل التعبير.
هذا يجعل الكود أقصر ويتجنب استدعاءات الدوال المتكررة.
• يعمل في while، if، وقوائم الفهم (list comprehension).
• مفيد لتقصير الكود وتجنب التكرار.
• لكن الإفراط في استخدامه قد يجعل الكود أقل وضوحًا.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1
استعدوا لثورة قادمة على تيليجرام! 🚀
شيء عظيم ينهي الفوضى ويمنحكم تحكماً لم تعهدوه🧠 .
تخيلوا عالماً رقمياً حيث كل شيء في مكانه، ومتاح بلمسة. مكان حيث لا تضيع الأفكار🛸 ، والتعاون يصبح أسهل🤝 .
ترقبوا القادم الذي سيغير قواعد عالمنا الرقمي . مستقبل منظم ينتظركم🗂 . قريباً جدًا! ✨ .
شيء عظيم ينهي الفوضى ويمنحكم تحكماً لم تعهدوه
تخيلوا عالماً رقمياً حيث كل شيء في مكانه، ومتاح بلمسة. مكان حيث لا تضيع الأفكار
ترقبوا القادم الذي سيغير قواعد عالمنا الرقمي . مستقبل منظم ينتظركم
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥2
التعبيرات النمطية + Pandas = ثنائي لا يمكن إيقافه لتنظيف البيانات🧹 .
في هذه المذكرة يتم توضيح كيفية إزالة الفراغات، حذف الأرقام، استخراج البريد الإلكتروني، إيجاد أرقام الهواتف، استخراج قيم الأسعار، استبدال الأنماط وضبط تنظيف النص باستخدام التعبيرات النمطية في بايثون🐍 .
في هذه المذكرة يتم توضيح كيفية إزالة الفراغات، حذف الأرقام، استخراج البريد الإلكتروني، إيجاد أرقام الهواتف، استخراج قيم الأسعار، استبدال الأنماط وضبط تنظيف النص باستخدام التعبيرات النمطية في بايثون
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🆒1
Media is too big
VIEW IN TELEGRAM
ملفاتك، أفكارك، ومشاريعك... هل هي في فوضى؟
لا تقلق، TeleSpace هنا ليمنحك نظامًا جديدًا! إنه مساعدك الذكي لتنظيم كل شيء في حياتك الرقمية، مباشرةً داخل تيليجرام🛸 .
نظام تخزين سحابي فائق:
بوت TeleSpace ليس مجرد أداة، بل هو نظام حياة رقمية أكثر كفاءة وترتيباً، للطلاب، للمحترفين، وللمبدعين🎓 .
🔗 رابط البوت : https://t.me/TeleSpace_0Bot
🔗 قناة البوت : https://t.me/TeleSpace_0
لا تقلق، TeleSpace هنا ليمنحك نظامًا جديدًا! إنه مساعدك الذكي لتنظيم كل شيء في حياتك الرقمية، مباشرةً داخل تيليجرام
نظام تخزين سحابي فائق:
تنظيم لا حدود له: أنشئ أقسامًا ومجلدات متداخلة لتخزين كل ما يخطر ببالكقوة المشاركة والتعاون:🧠 .
كل ما تحتاجه في مكان واحد: احفظ المستندات، الصور، الفيديوهات، والروابط، واسترجعها بلمسة زر من أي جهاز.
وصول فوري وآمن: ملفاتك كلها في جيبك، منظمة ومتاحة متى احتجت إليها ، حتى بعد سنوات طويله🗂 .
مساحات عمل مشتركة: شارك الأقسام المجلدات بكل محتوياتها ، أو انضم إلى مساحات الآخرين، كل ذلك في مكان واحد منظمالآرشفة والأتمتة الذكية(قيد التطوير):🤝 .
تحكّم كامل: أضف مشرفين لمساعدتك، وشارك المحتوى مع آلاف المستخدمين باستخدام روابط مشاهدة آمنة (للعرض فقط)⚙️ .
حفظ تلقائي من القنوات: اربط قسمًا معينًا بقناة تيليجرام، وسيقوم TeleSpace بحفظ المنشورات تلقائيًا في اسم المجلد الذي يحتوي على نفس اسم الهاشتاج الذي يُرسل في القناة.#️⃣ . اجعل الأرشفة تتم لوحدها🤖 .
بوت TeleSpace ليس مجرد أداة، بل هو نظام حياة رقمية أكثر كفاءة وترتيباً، للطلاب، للمحترفين، وللمبدعين
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🆒1
أفضل 5 منسقات لـ f-string في بايثون:
I. أعداد صحيحة مع أصفار بادئة
II. أعداد عشرية (رقمان بعد الفاصلة)
III. فاصل الآلاف
IV. تنسيق كنسبة مئوية
V. تنسيق التاريخ/الوقت
I. أعداد صحيحة مع أصفار بادئة
variable = 56
print(f"{variable:05d}") # 00056
II. أعداد عشرية (رقمان بعد الفاصلة)
variable = 123.456
print(f"{variable:.2f}") # 123.46
III. فاصل الآلاف
variable = 12345
print(f"{variable:,.0f}") # 12,345
IV. تنسيق كنسبة مئوية
variable = 0.425
print(f"{variable:.0%}") # 42%
V. تنسيق التاريخ/الوقت
import datetime
variable = datetime.datetime.now()
print(f"{variable:%d.%m.%Y}") # 15.09.2025
🔥1👏1🆒1
مذكرة حول f-string في بايثون
تُعتبر f-string واحدة من أبسط وأسرع الطرق لتنسيق النصوص في بايثون.
المذكرة بالكامل➡️
تُعتبر f-string واحدة من أبسط وأسرع الطرق لتنسيق النصوص في بايثون.
احتفظ بالمذكرة لتكون دائمًا في متناول يدك ⌨️
المذكرة بالكامل
Please open Telegram to view this post
VIEW IN TELEGRAM
👏2🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
تصوير كائنات وروابط بايثون
يواجه العديد من مطوري بايثون المبتدئين ارتباكًا عند التعامل مع القابلية للتغيير والروابط بين المتغيرات. يكون الأمر أكثر صعوبة عند تصحيح هياكل بيانات معقدة، حيث يصعب فهم كيفية ارتباطها بالضبط. ⌨️
لذلك، إليكم memory—graph ، أداة مفتوحة المصدر لتصوير كائنات وروابط بايثون. تعرض هيكل البيانات، مكدس الاستدعاءات، والروابط بين المتغيرات.
كما تدعم العمل مع العودية وهياكل مثل الأشجار الثنائية أو القوائم المرتبطة.
تعمل في VS Code، Jupyter، PyCharm ومتاحة عبر الإنترنت بدون تثبيت.
يواجه العديد من مطوري بايثون المبتدئين ارتباكًا عند التعامل مع القابلية للتغيير والروابط بين المتغيرات. يكون الأمر أكثر صعوبة عند تصحيح هياكل بيانات معقدة، حيث يصعب فهم كيفية ارتباطها بالضبط. ⌨️
لذلك، إليكم memory—graph ، أداة مفتوحة المصدر لتصوير كائنات وروابط بايثون. تعرض هيكل البيانات، مكدس الاستدعاءات، والروابط بين المتغيرات.
كما تدعم العمل مع العودية وهياكل مثل الأشجار الثنائية أو القوائم المرتبطة.
تعمل في VS Code، Jupyter، PyCharm ومتاحة عبر الإنترنت بدون تثبيت.
🔥2
نصيحة حول PEP8:
لتحسين قابلية القراءة، قم بكسر السطور قبل عوامل التشغيل الثنائية (مثل +، -، *، /) وليس بعدها. هذا يسمح بمحاذاة العوامل مع معاملاتِها وتجنب تشتتها عبر سطور مختلفة.
مثال:
لتحسين قابلية القراءة، قم بكسر السطور قبل عوامل التشغيل الثنائية (مثل +، -، *، /) وليس بعدها. هذا يسمح بمحاذاة العوامل مع معاملاتِها وتجنب تشتتها عبر سطور مختلفة.
مثال:
# good
income = (gross_wages
+ taxable_interest
+ (dividends - qualified_dividends)
- ira_deduction
- student_loan_interest)
# bad
income = (gross_wages +
taxable_interest +
(dividends - qualified_dividends) -
ira_deduction -
student_loan_interest)
👍1🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
اكتشفت إضافة رائعة تضيف أيقونات جميلة لأنواع مختلفة من الملفات في GitHub وGitLab وGitea وGogs .
Download Extension: Link
Source Code: Link
#Tools
Download Extension: Link
Source Code: Link
#Tools
👍2
تم إصدار Typer 0.19.0
يمكنك الآن استخدام Literal من typing لوسائط CLI التي تقبل فقط واحدة من عدة قيم .
الميزة الأكثر انتظارًا أصبحت متاحة أخيرًا🥹🔥.
Source Code: Link
يمكنك الآن استخدام Literal من typing لوسائط CLI التي تقبل فقط واحدة من عدة قيم .
الميزة الأكثر انتظارًا أصبحت متاحة أخيرًا🥹🔥.
Source Code: Link
👍1🔥1
مكتبة random في Python
في المقالة تم شرح كيفية عمل random بلغة بسيطة، ولماذا العشوائية في بايثون ليست عشوائية تمامًا، ومتى يجب استخدام seed أو uniform أو shuffle.
بالداخل: أمثلة توضيحية، سيناريوهات تطبيق حقيقية، ومقارنة مع العشوائية الحقيقية من العالم الخارجي.
اقرأ المقال : Link
في المقالة تم شرح كيفية عمل random بلغة بسيطة، ولماذا العشوائية في بايثون ليست عشوائية تمامًا، ومتى يجب استخدام seed أو uniform أو shuffle.
بالداخل: أمثلة توضيحية، سيناريوهات تطبيق حقيقية، ومقارنة مع العشوائية الحقيقية من العالم الخارجي.
اقرأ المقال : Link
🔥3