اكتشف 5 ميزات مخفية في Python تجعل تعلم البرمجة أكثر إمتاعًا

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

a-basket-full-of-easter-eggs-and-the-python-logo اكتشف 5 ميزات مخفية في Python تجعل تعلم البرمجة أكثر إمتاعًا

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

5. Hello World

إذا سبق لك كتابة التعليمات البرمجية بأي لغة، فمن المرجح أن يكون أول برنامج لك هو طباعة “Hello World” على وحدة التحكم. يمكنك القيام بذلك في بايثون بسطر من التعليمات البرمجية.

print("Hello World")

ومع ذلك، هناك طريقة أكثر تعقيدًا للقيام بذلك. يمكنك استيراد وحدة تسمى __hello__ لطباعتها.

import __hello__

ومع ذلك، بدءًا من Python 3.11، يتعين عليك استدعاء الطريقة الرئيسية لطباعة النص فعليًا.

import __hello__
__hello__.main()

printing-hello-world-in-the-console-using-the-__hello__-module-in-python اكتشف 5 ميزات مخفية في Python تجعل تعلم البرمجة أكثر إمتاعًا

على غرار وحدة __hello__، هناك أيضًا وحدة __phello__ التي تقوم بنفس الشيء.

import __phello__
__phello__.main()

printing-hello-world-in-the-console-using-the-__phello__-module-in-python اكتشف 5 ميزات مخفية في Python تجعل تعلم البرمجة أكثر إمتاعًا

تحتوي وحدة __phello__ أيضًا على سمة spam يمكنك استدعاؤها لطباعتها مرتين. تعمل هذه السمة في الإصدارات الأقدم من 3.11.

import __phello__.spam

printing-hello-world-in-the-console-using-by-importing-the-spam-attritbute-from-the-__phello__-module-in-python اكتشف 5 ميزات مخفية في Python تجعل تعلم البرمجة أكثر إمتاعًا

في الواقع، تمت إضافة هذه الوحدات النمطية إلى Python لاختبار ما إذا كانت الوحدات النمطية المجمدة تعمل كما هو مقصود، كما هو مذكور في كود مصدر Cpython.

In order to test the support for frozen modules, by default we define some simple frozen modules: __hello__, __phello__ (a package), and __phello__.spam. Loading any will print some famous words...

لذا في المرة القادمة التي تريد فيها طباعة “مرحبًا بالعالم!”، جرّب هذه الحيلة لتضحك أو تُبهر الآخرين.

4. فلسفة بايثون

تحتوي كل لغة برمجة على بعض القواعد واللوائح والفلسفات وأفضل الممارسات. ولا تُستثنى بايثون من ذلك. كتب تيم بيترز، الذي كان مساهمًا رئيسيًا في لغة برمجة بايثون، مجموعة من المبادئ لكتابة التعليمات البرمجية في بايثون. يُعرف هذا عادةً باسم “فلسفة بايثون”. وقد تم دمج هذه القطعة الأدبية في هذه اللغة نفسها. لقراءتها، كل ما عليك فعله هو تشغيل:

import this

سوف ترى Zen of Python مطبوعًا على الشاشة.

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than *right* now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!

the-zen-of-python-displayed-in-a-python-shell اكتشف 5 ميزات مخفية في Python تجعل تعلم البرمجة أكثر إمتاعًا

إذا نظرت إلى الكود الفعلي للملف، فستجد شيئًا مثيرًا للاهتمام. النص المطبوع مشفر في الأصل.

s = """Gur Mra bs Clguba, ol Gvz Crgref



Ornhgvshy vf orggre guna htyl.

Rkcyvpvg vf orggre guna vzcyvpvg.

Fvzcyr vf orggre guna pbzcyrk.

Pbzcyrk vf orggre guna pbzcyvpngrq.

Syng vf orggre guna arfgrq.

Fcnefr vf orggre guna qrafr.

Ernqnovyvgl pbhagf.

Fcrpvny pnfrf nera'g fcrpvny rabhtu gb oernx gur ehyrf.

Nygubhtu cenpgvpnyvgl orngf chevgl.

Reebef fubhyq arire cnff fvyragyl.

Hayrff rkcyvpvgyl fvyraprq.

Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff.

Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg.

Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu.

Abj vf orggre guna arire.

Nygubhtu arire vf bsgra orggre guna *evtug* abj.

Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg'f n onq vqrn.

Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn.

Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg'f qb zber bs gubfr!"""

هناك جزء آخر من الكود يقوم بتحويل النص المعطى.

d = {}

for c in (65, 97):

   for i in range(26):

       d[chr(i+c)] = chr((i+13) % 26 + c)

print("".join([d.get(c, c) for c in s]))

لذا، ما يحدث هو أن النص الأصلي تم تشفيره باستخدام خوارزمية استبدال تُعرف باسم ROT13. إنها خوارزمية قابلة للعكس. عندما تستورد وحدة this، يتم فك تشفير النص المشفر مرة أخرى إلى شكله الأصلي وطباعته على الشاشة.

3. الأقواس أو عدم استخدام الأقواس

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

from __future__ import braces
>>> SyntaxError: not a chance

 

trying-to-import-braces-from-the-__future__module-giving-a-syntax-error اكتشف 5 ميزات مخفية في Python تجعل تعلم البرمجة أكثر إمتاعًا

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

2. FLUFL

تحتوي وحدة __future__ على بيضة فصح أخرى مثيرة للاهتمام. إذا كنت قد استخدمت عوامل منطقية في البرمجة من قبل، فأنت تعلم أنه في معظم اللغات، يكون رمز عدم المساواة هو != (علامة تعجب تليها علامة يساوي). ومع ذلك، فضل أحد المطورين الأساسيين لـ Python، Barry Warsaw، المعروف أيضًا باسم Uncle Barry، استخدام عوامل الماس (<>) لعدم المساواة. إليك جزء التعليمات البرمجية.

from __future__ import barry_as_FLUFL

0 != 1

>>> SyntaxError: with Barry as BDFL, use '<>' instead of '!='

0 <> 1

>>> True

1 <> 1

>>> False

FLUFL تعني “اللغة الودية العم مدى الحياة”، وهو على ما يبدو لقب العم باري.

using-diamond-operators-as-inequality-operators-in-python اكتشف 5 ميزات مخفية في Python تجعل تعلم البرمجة أكثر إمتاعًا

1. antigravity

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

import antigravity

تحتوي هذه الوحدة أيضًا على دالة geohash(). تُستخدم هذه الدالة في geohashing باستخدام خوارزمية Munroe.

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

generating-a-geohash-using-python-s-geohash-function-in-the-antigravity-module اكتشف 5 ميزات مخفية في Python تجعل تعلم البرمجة أكثر إمتاعًا

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

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

قد يعجبك ايضا