أفضل الممارسات للعبارات الشرطية في بايثون
تشرح هذه المقالة أفضل الممارسات للعبارات الشرطية في بايثون۔
YouTube Video
أفضل الممارسات للعبارات الشرطية في بايثون
جملة if في بايثون هي بناء أساسي لتنفيذ التفرع الشرطي، ولها تأثير كبير على قابلية قراءة الكود وصيانته.۔ سنناقش هنا بالتفصيل أفضل الممارسات لاستخدام جملة if.۔
استخدم التعبيرات الشرطية الواضحة
اكتب التعبيرات الشرطية بشكل مختصر وواضح، مع تجنب العبارات الزائدة عن الحاجة.۔
1condition = True
2
3### Bad Example
4if condition == True:
5 pass
6
7### Good Example
8if condition:
9 pass- في بايثون، يمكنك الإشارة إلى أن الشرط صحيح بكتابة
if condition:۔
دمج الشروط المتعددة
عند دمج شروط متعددة، استخدم and أو or۔ لكن عندما تصبح التعبيرات الشرطية معقدة، قد تنخفض قابلية القراءة، لذا فكر في التعديلات التالية:۔
1age = 15
2is_student = True
3
4### Bad Example
5# Complex condition
6if (age > 18 and age < 65) or (is_student and age > 15):
7 pass
8
9### Good Example
10# Improving readability
11is_working_age = 18 < age < 65
12is_eligible_student = is_student and age > 15
13
14if is_working_age or is_eligible_student:
15 pass- يمكن تحسين قابلية القراءة عن طريق تقسيم الشروط وتخصيصها لمتغيرات۔
تقييم القصر لـand/or
في العبارات الشرطية التي تستخدم and أو or، إذا كان بالإمكان تحديد النتيجة من خلال القيمة اليسرى فقط، يحدث تقييم القصر ولا يتم تقييم الجانب الأيمن.۔ فهم ذلك يساعدك على تجنب العمليات غير الضرورية ومنع الأخطاء.۔
1user = None
2def expensive_check():
3 return True
4
5# Example of short-circuiting with 'and'
6if user and user.is_active:
7 # If user is None, user.is_active will NOT be evaluated
8 print("Active user found.")
9
10# Example of short-circuiting with 'or'
11if user.is_admin or expensive_check(user):
12 # If user.is_admin is True, expensive_check will NOT be called.
13 print("Access granted.")
14else:
15 print("Access denied.")- من خلال استخدام تقييم القصر، يمكنك تحسين كفاءة المعالجة والسلامة.۔
أولوية and و or
لدى and أولوية أعلى من or۔ لذلك، عند الجمع بين الشروط بشكل مباشر، قد تحصل على نتائج غير مقصودة.۔ من المهم استخدام الأقواس لتوضيح نواياك.۔
1age = 15
2is_student = True
3
4### Unclear example
5# This is interpreted as: age > 18 and (age < 65 or is_student)
6if age > 18 and age < 65 or is_student:
7 pass
8
9### Clear example
10# Explicit parentheses make the intended logic obvious
11if (age > 18 and age < 65) or is_student:
12 pass- من خلال استخدام الأقواس، يمكنك توضيح أولوية
andوor، مما يقلل من خطر الأخطاء غير المتوقعة.۔
فهم القيم الحقيقية وغير الحقيقية
في بايثون، يتم تقييم القيم التالية على أنها False:۔
لا شيءخاطئ- الرقم
0(بما في ذلك0.0) - أنواع التسلسل الفارغة (مثل القوائم أو المجموعات أو السلاسل الفارغة)
- أمثلة:
[]،()،""
- أمثلة:
- قاموس فارغ
- مثال:
{}
- مثال:
يمكنك الاستفادة من ذلك لتبسيط تعبيراتك الشرطية۔
1items = [1, 2, 3]
2
3### Bad Example
4if len(items) > 0:
5 pass
6
7### Good Example
8if items:
9 passالاستخدام الصحيح لـ elif و else
عند تقييم شروط متعددة، استخدم elif۔ استخدم else لتحديد تصرف افتراضي في النهاية۔
1score = 80
2
3if score >= 90:
4 grade = "A"
5elif score >= 80:
6 grade = "B"
7elif score >= 70:
8 grade = "C"
9else:
10 grade = "F"elseليست إلزامية۔ إذا تم تغطية جميع الشروط، يمكن تخطيها۔- انتبه لترتيب العبارات الشرطية ونظمها بطريقة منطقية بدون تكرار۔
قم بتقييد عمق التعشيق.
التعشيق العميق لعبارات if يجعل الكود أصعب في القراءة۔
1def access_resource():
2 return True
3
4### Bad Example
5def deep_nest(user, resource):
6 if user.is_authenticated:
7 if user.has_permission:
8 if resource.is_available:
9 access_resource()
10
11### Good Example
12def early_return(user, resource):
13 if not user.is_authenticated:
14 return
15 if not user.has_permission:
16 return
17 if not resource.is_available:
18 return
19
20 access_resource()- استخدام الإرجاع المبكر يمكن أن يقلل من التعشيق ويجعل الكود أكثر اختصارًا۔
تجنب استخدام عبارات if في سطر واحد.
من الممكن كتابة عبارات if في سطر واحد، لكن ذلك قد يقلل من قابلية قراءة الشيفرة.۔
1condition = False
2def do_something():
3 return True
4
5### Bad Example
6if condition: do_something()
7
8### Good Example
9if condition:
10 do_something()- استخدام عبارات if في سطر واحد مقبول فقط مع الشروط أو الإجراءات القصيرة، لكن تجنب كتابة الشيفرة بشكل مطول أكثر من اللازم.۔
التبسيط باستخدام العامل الثلاثي أو or
بالنسبة للفروع الشرطية البسيطة، يمكن أن يجعل استخدام العامل الثلاثي أو or الكود أكثر اختصارًا.۔ ومع ذلك، فإن الإفراط في استخدام ذلك قد يجعل كودك أكثر صعوبة في القراءة، لذا يجب استخدامه فقط في الحالات البسيطة والواضحة.۔
1is_admin = True
2input_name = None
3
4# Regular if statement
5if is_admin:
6 role = "Administrator"
7else:
8 role = "User"
9
10# Simplified using an inline if
11role = "Administrator" if is_admin else "User"
12
13# Use 'or' to provide a default value
14name = input_name or "Guest"- بالنسبة للشروط البسيطة، يمكن أن يجعل استخدام العامل الثلاثي أو
orالكود أقصر وأسهل للفهم.۔
تخزين العبارات الشرطية.
العبارات الشرطية التي تتضمن عمليات حسابية مكلفة أو استدعاءات دوال يمكن تخزينها في متغيرات لتحسين الأداء۔
1def expensive_function():
2 pass
3
4def another_expensive_function():
5 pass
6
7### Bad Example
8if expensive_function() and another_expensive_function():
9 pass
10
11### Good Example
12result1 = expensive_function()
13result2 = another_expensive_function()
14if result1 and result2:
15 passالملخص
عبارات if في لغة بايثون هي أدوات بسيطة وقوية، ولكن سوء استخدامها قد يجعل الكود معقدًا وصعب القراءة۔ من خلال تبني أفضل الممارسات المقدمة هنا، يمكنك تحسين قابلية القراءة وسهولة الصيانة وكفاءة الكود الخاص بك۔
يمكنك متابعة المقالة أعلاه باستخدام Visual Studio Code على قناتنا على YouTube.۔ يرجى التحقق من القناة على YouTube أيضًا.۔