أهم 3 ميزات في Python لا تعرفها (ربما)

مرحبا يا هابر! أقدم لكم ترجمة المقال "أهم ثلاث وظائف بيثون لا تعرفها (ربما)" بقلم داريو راديتش.

كونها واحدة من أكثر اللغات شعبية في القرن الحادي والعشرين ، فإن Python لديها بالتأكيد العديد من الميزات المثيرة للاهتمام التي تستحق استكشافها بالتفصيل. سيتم النظر في ثلاثة منها اليوم ، كل منها نظريًا ، ثم مع أمثلة عملية.

صورة

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

فيما يلي الوظائف التي سيتم مناقشتها في المقالة:

1. الخريطة ()
2. المرشح ()
3. تقليل ()

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

لذا ، بدون مزيد من اللغط ... دعنا نبدأ!

خريطة ()


تأخذ الدالة map () كمعلمة دالة أخرى مع بعض الصفيف. الفكرة هي تطبيق دالة (تم تمريرها كوسيطة) على كل عنصر في المصفوفة.

وهذا مفيد لسببين:

  1. لا تحتاج لكتابة حلقة
  2. إنه أسرع من حلقة

دعونا نلقي نظرة عليه في العمل. سأعلن وظيفة "num_func ()" تأخذ رقم واحد كمعلمة. يتم تربيع هذا الرقم على 2 ، ويتم إرجاعه على هذا النحو. لاحظ أنه تم اختيار العمليات بشكل تعسفي ، يمكنك القيام بأي شيء داخل الوظيفة:

صورة

الآن دعنا نعلن عن مجموعة من الأرقام التي نريد تطبيق "num_func ()" عليها. لاحظ أن "map ()" نفسها ستعيد كائن العرض ، لذلك تحتاج إلى تحويله إلى قائمة:

صورة

يبدو أن العملية اكتملت بنجاح. لا يوجد شيء ثوري هنا ، ولكن سيكون من الجيد تجنب الدورات عندما يكون ذلك ممكنًا.

منقي ()


إليك ميزة أخرى لائقة توفر لك الوقت - سواء في الكتابة أو في التنفيذ. كما يوحي الاسم ، الفكرة هي أن تخزن في المصفوفة فقط تلك العناصر التي تلبي شرطًا معينًا .

كما هو الحال في "map ()" ، يمكننا الإعلان عن دالة مسبقًا ، ثم تمريرها إلى "filter ()" مع كائن قابل للتكرار (على سبيل المثال ، قائمة).

دعونا نلقي نظرة عليه في العمل. لقد ذهبت إلى أبعد من ذلك وأعلنت وظيفة "more_than_15 ()" ، والتي ، كما يوحي الاسم ، ستعرض "true" إذا كان العنصر المحدد كمعلمة أكبر من 15:

صورة

بعد ذلك ، نعلن عن مجموعة من الأرقام ونمررها كمعلمة ثانية للدالة " منقي () ":

صورة

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

خفض ()


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

الجزء الأخير أمر بالغ الأهمية - لا يؤدي "تقليل ()" إلى إرجاع مجموعة من العناصر ، وإنما يُرجع دائمًا قيمة واحدة. دعونا نلقي نظرة على الرسم التخطيطي لتجسيد هذا المفهوم: هذا

صورة

هو المنطق المكتوب في حالة عدم وضوح الرسم البياني بنسبة 100 ٪:

  1. تمت إضافة 5 إلى 10 ، والنتائج في 15
  2. وأضاف 15 إلى 12 ، والنتائج في 27
  3. تمت إضافة 27 إلى 18 ، والنتيجة هي 45
  4. تمت إضافة 45 إلى 25 ، والنتيجة هي 70

و 70 هي القيمة التي ترجع. للبدء في تنفيذ الكود ، دعنا نستورد وظيفة الاختزال من وحدة functools ونعلن وظيفة تقوم بإرجاع مجموع رقمين :

صورة

الآن يمكننا العودة إلى الرسم البياني في الكود والتأكد من أن كل شيء يعمل كما ينبغي:

صورة

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

قبل أن تغادر:


آمل أن تتمكن بطريقة ما من استخدام هذه الوظائف الثلاث في حياتك اليومية. قد لا تكون زيادة السرعة مهمة - تعتمد على كمية البيانات التي تعمل معها - ولكن الكود سيبدو أفضل مع عدد أقل من الحلقات.

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

شكرا للقراءة.

All Articles