10 حيل في بايثون مثيرة للاهتمام Python-Tricks

10 حيل في بايثون مثيرة للاهتمام Python-Tricks

لغة Python هي لغة شائعة جدًا من بين لغات أخرى بسبب بساطتها وقابليتها للقراءة في الكود. إنها واحدة من أبسط اللغات التي تختارها كلغة أولى. 

إذا كنت مبتدئًا بالمفاهيم الأساسية للبايثون ، فهذا هو أفضل وقت لتعلم كتابة أكواد أفضل. هناك الكثير من الحيل في Python يمكنها تحسين برنامجك بشكل أفضل من ذي قبل. 

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

في هذه المقالة ، سنرى 10 حيل في بايثون التي يتم استخدامها بشكل متكرر و الأكثر فعالية.

10 حيل مفيدة في بايثون  Python-Tricks 

استخدام هذه الحيل يجعل كتابة التعليمات البرمجية في عدد أقل من الأسطر و كتابة كود بايثون نظيف
نبدأ على بركة الله

عكس القائمة Reverse List

يمكننا ببساطة عكس قائمة معينة باستخدام دالة reverse(). يتعامل مع كل من أنواع البيانات الرقمية والسلسلة الموجودة في القائمة.

مثال
List = ["Shriya", "Lavina","Sampreeti" ]
List.reverse()
print(List)

المخرجات

يمنحنا تشغيل الكود أعلاه النتيجة التالية -
['Sampreeti', 'Lavina', 'Shriya']

طباعة عناصر القائمة List بأي ترتيب

إذا كنت بحاجة إلى طباعة قيم قائمة بترتيبات مختلفة ، فيمكنك تعيين القائمة إلى سلسلة من المتغيرات وتحديد الترتيب الذي تريد طباعة القائمة به برمجيًا.

مثال
List = [1,2,3]
w, v, t = List
print(v, w, t )
print(t, v, w )

المخرجات

يمنحنا تشغيل الكود أعلاه النتيجة التالية -
(2, 1, 3)
(3, 2, 1)

استخدام المولدات داخل الوظائف

يمكننا استخدام المولدات مباشرة داخل دالة لكتابة كود أقصر وأنظف. في المثال أدناه نجد المجموع باستخدام المولد مباشرة كوسيطة لدالة الجمع.

مثال
sum(i for i in range(10) )

المخرجات

يمنحنا تشغيل الكود أعلاه النتيجة التالية -
45

استخدام وظيفة zip

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

مثال
Year = (1999, 2003, 2011, 2017)
Month = ("Mar", "Jun", "Jan", "Dec")
Day = (11,21,13,5)
print zip(Year,Month,Day)

المخرجات

يمنحنا تشغيل الكود أعلاه النتيجة التالية -
[(1999, 'Mar', 11), (2003, 'Jun', 21), (2011, 'Jan', 13), (2017, 'Dec', 5)]

تبديل رقمين بسطر برمجي واحد

عادة ما يتطلب تبادل الأرقام تخزين القيم في متغيرات مؤقتة. ولكن باستخدام خدعة Python هذه ، يمكننا القيام بذلك باستخدام سطر واحد من التعليمات البرمجية ودون استخدام أي متغيرات مؤقتة.

مثال
x,y = 11, 34
print x
print y
x,y = y,x
print x
print y

المخرجات

يمنحنا تشغيل الكود أعلاه النتيجة التالية -
11
34
34
11

قلب المصفوفة

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

مثال
x = [[31,17], [40 ,51], [13 ,12]]
print (zip(*x))

المخرجات

يمنحنا تشغيل الكود أعلاه النتيجة التالية -
[(31, 40, 13), (17, 51, 12)]

طبع سلسلة String بعدد N من المرات

الطريقة المعتادة في أي لغة برمجة لطباعة سلسلة عدة مرات هي تصميم حلقة. لكن بيثون لديها خدعة بسيطة تتضمن سلسلة ورقم داخل وظيفة الطباعة.

مثال
str ="Wiki";
print(str * 3);

المخرجات

يمنحنا تشغيل الكود أعلاه النتيجة التالية -
WikiWikiWiki

عكس عناصر اللائحة

تشريح القائمة هو أسلوب قوي جدًا في لغة البايثون ويمكن استخدامه أيضًا لعكس ترتيب العناصر في القائمة.

مثال
#Reversing Strings
list1 = ["a","b","c","d"]
print list1[::-1]

# Reversing Numbers
list2 = [1,3,6,4,2]
print list2[::-1]

المخرجات

يمنحنا تشغيل الكود أعلاه النتيجة التالية -
['d', 'c', 'b', 'a']
[2, 4, 6, 3, 1]

أوجد عوامل العدد

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

مثال
f = 32
print "The factors of",x,"are:"
for i in range(1, f + 1):
   if f % i == 0:
print(i)

المخرجات

يمنحنا تشغيل الكود أعلاه النتيجة التالية -
The factors of 32 are:
1
2
4
8
16
32

التحقق من استخدام الذاكرة

يمكننا التحقق من مقدار الذاكرة التي يستهلكها كل متغير نعلنه باستخدام وظيفة getizeof. كما ترى أدناه ، ستستهلك أطوال السلسلة المختلفة مقدارًا مختلفًا من الذاكرة.

مثال
import sys
a, b, c,d = "abcde" ,"xy", 2, 15.06
print(sys.getsizeof(a))
print(sys.getsizeof(b))
print(sys.getsizeof(c))
print(sys.getsizeof(d))

المخرجات

يمنحنا تشغيل الكود أعلاه النتيجة التالية:
38
35
24
24