مصطلحات بايثون التي يجب أن يعرفها المبتدئون – الجزء الأول

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

على الرغم من أن بايثون تم إنشاؤها في أوائل التسعينات – في عام 1991 على وجه الدقة – إلا أنها تستخدم في العديد من التطبيقات الحديثة. إنها واحدة من أكثر لغات البرمجة الموصى بها لعلوم البيانات والتعلم الآلي – وهما مجالان كانا رائجين في السنوات القليلة الماضية.

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

لماذا يحب الجميع لغة بايثون كثيراً؟

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

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

لماذا يحب الجميع بايثون؟ يمكنني أن أشير إلى العديد من الأسباب، ولكن لنبدأ بالأساسيات: بناء جملة بايثون سهل القراءة وسهل التعلم. ولهذا السبب تعتبر لغة بايثون صديقة للمبتدئين: للوهلة الأولى، تبدو لغة بايثون واللغة الإنجليزية العامة متشابهتين إلى حد كبير.

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

يمكن استخدام بايثون في جميع المنصات الرئيسية؛ يمكنك البرمجة على كل نظام تشغيل رئيسي. إنها مفتوح المصدر، لذا لا يتعين عليك دفع رسوم لاستخدامها في مشاريعك التجارية وغير التجارية. تقدر العديد من الشركات الشهيرة لغة Python، بما في ذلك Mozilla و Dropbox و IBM و Disney و Spotify و Netflix و حتى NASA.

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

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

الآن بعد أن عرفت ما الذي يجعل بايثون رائع، هل أنت مستعد للبدء في تعلم مصطلحاتها الأساسية؟ دعونا نبدأ!

مصطلحات بايثون الأساسية

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

المترجم

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

يتم تضمين مترجم Python عند تثبيت PYTHON على جهاز الكمبيوتر. يمكنك استخدامه ببساطة عن طريق كتابة python في SHELL. ستعرف أنك في الوضع التفاعلي إذا تمكنت من رؤية >>> في بداية السطر. وستظهر لك رسالة ترحيب تسرد إصدار Python الذي قمت بتثبيته.

كتابة python في SHELL

البرنامج

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

متغير

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

في الأساس، المتغير هو مكان في ذاكرة الكمبيوتر له اسم معين. نحتاج إلى متغيرات لتخزين واسترجاع البيانات بمختلف أنواعها (نص، أرقام، إلخ).

يسمى إنشاء متغير “الإعلان عن المتغير”. يمكنك تسمية المتغير الخاص بك وتعيين قيمة له. هناك بعض القواعد لتسمية المتغيرات:

  • يمكنك استخدام الحروف و الأرقام و الشرطات السفلية ( _ ) في اسم المتغير.
  • أسماء المتغيرات حساسة لحالة الأحرف: example و Example و eXampLe كلها متغيرات مختلفة ببايثون.
  • لا يمكنك بدء اسم متغير برقم.
  • لا يمكنك استخدام كلمة محجوزة (مثل def، if، else، False، True، None…) كاسم متغير. إذا لم تكن متأكدًا من الكلمات المحجوزة (أي أن بايثون تستخدمها لدوال معينة)، فاكتب help('keywords').
  • يمكنك تعيين قيمة لمتغير باستخدام علامة التساوي (=). يأتي أولاً اسم المتغير، ثم علامة التساوي، ثم القيمة:
favourite_food = 'ice cream!'

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

القوائم

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

الإعلان عن قائمة جديدة يشبه إلى حد كبير الإعلان عن متغير: فهو يحتاج إلى اسم وعلامة يساوي. الفرق هو أنك تقوم بتخزين عناصر القائمة بين قوسين مربعين والفصل بينها بفواصل:

to_do_list = ['meet Anna', 'buy milk', 'finish latest blog post']

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

>>> print(to_do_list[1])
buy milk

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

القوائم قابلة للتغيير، مما يعني أنه يمكنك إضافة قيم أو إزالتها أو تغيير عناصر معينة.

القواميس

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

'Key': 'Value'
# أو
'Country': 'Capital city'

للوصول إلى قيم القاموس، نستخدم المفاتيح بدلاً من الفهارس. ولهذا السبب، تعتبر مفاتيح القاموس فريدة وغير قابلة للتغيير، ولا يمكن تغييرها. يمكن أن تكون القيم المخزنة في القواميس من أي نوع بيانات، بما في ذلك قواميس أخرى!

دعونا نلقي نظرة على مثال لقاموس بايثون:

capitals = {'Czechia':'Prague', 'Lithuania': 'Vilnius', 'France':'Paris', 'Germany':'Berlin', 'Italy':'Rome', 'Poland':'Warsaw'}

للوصول إلى إحدى القيم، نحتاج إلى كتابة المفتاح المختار بين قوسين مربعين:

>>> print(capitals['Italy'])
Rome

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

الدوال

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

لدى بايثون العديد من الدوال المدمجة المفيدة. لاستخدام دالة مدمجة، لا تحتاج إلى كتابة كافة التعليمات البرمجية بنفسك؛ فقط اتصل بالدالة. على سبيل المثال، لاستدعاء دالة  help في بايثون، نكتب:

help('keywords')

لاحظ أننا استخدمنا “keywords” كوسيطة دالة (داخل الأقواس). هذا يخبر بايثون بالحصول على معلومات حول كلمات بايثون الأساسية. ليست سيئة للغاية، أليس كذلك؟

بالطبع، ليس عليك أن تقتصر على الدوال المدمجة. دعونا نبرمج دالة على مقاسنا. للقيام بذلك، نحن بحاجة إلى الكلمة الأساسية def. يشير هذا إلى “define” ويتيح لبايثون معرفة أن هذه ستكون دالة جديدة. ثم نحتاج إلى اسم ذي معنى، متبوعًا ببعض التعليمات البرمجية (والتي تسمى “نص” الدالة). في بعض الأحيان، قد نقوم أيضًا بتضمين وسيطة واحدة أو أكثر. يبدو الأمر برمته كما يلي:

def function_name(parameter):
    your code

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

يمكن أن يكون هناك معلمة واحدة أو أكثر أو لا توجد معلمات في دالة واحدة. في دالتنا show_my_favourite_food، دعنا ندرج معلمة food:

def show_my_favourite_food(food):
    print('My favourite food is ', food)

يتضمن نص دالتنا دالة أخرى مدمجة، وهي print()، و التي تعرض النتائج على الشاشة. لنستدعي الدالة الآن لنرى النتيجة:

show_my_favourite_food('fish and chips')

و سيبدو الناتج كما يلي:

My favourite food is fish and chips

دالة print()

تعد print () إحدى دوال Python الأساسية. يتعلمها كل مطور بايثون لأنه يسمح لنا بإظهار نتيجة الكود الذي كتبناه.

تقوم دالة print() بطباعة النتيجة حرفيًا على الشاشة. و لاستخدام (أو استدعاء) هذه الدالة، ما عليك سوى كتابة:

print()

عادة، تحتاج إلى بعض المعلمات داخل الأقواس؛ print() بدون أي معلمات سيؤدي إلى سطر فارغ. يمكنك طباعة قيمة متغير أو نتيجة دالة. دعونا نستخدم المتغير الذي أنشأناه بالفعل لإظهار كيفية عمل الدالة print() مع المعلمة:

>>> favourite_food = 'ice cream!'
>>> print(favourite_food)
ice cream!

يمكنك أيضًا إضافة بعض النص إلى هذه القيم. يُطلق على دمج أجزاء النص اسم “تسلسل السلسلة” لأن السلسلة هي نوع بيانات النص في Python. إليك كيفية ربط السلاسل داخل print():

>>> print('My favourite food is ', food)
My favourite food is ice cream!

الأمر سهل – ما عليك سوى إضافة فاصلة واسم المتغير الذي تريد طباعة قيمته. لاحظ أننا قمنا بتضمين السلسلة بين علامتي اقتباس مفردتين: ” ‘My favourite food is‘”. يتيح ذلك لبايثون معرفة كيفية التعامل مع هذا النص كسلسلة.

دالة input()

input() هي دالة بايثون مدمجة أخرى. تسمح لنا بالحصول على مدخلات من المستخدم من خلال إظهار المطالبة. تقوم هذه الدالة بإرجاع البيانات التي أدخلها المستخدم بتنسيق السلسلة. وهي عبارة عن سلسلة بغض النظر عما إذا كان المستخدم قد كتب “42” أو “أحب القهوة“.

يمكننا تخزين قيمة input() في متغير ثم طباعتها باستخدام دالة print(). أولاً، لنقم بإعداد المتغير الذي يقوم بتخزين مدخلات المستخدم. في السطر التالي، سنطلب من الكمبيوتر طباعة النتائج بجانب السلسلة “My name“. إليك الكود متبوعًا بالنتيجة:

name_input = input()
print('My name is', name_input)
 
Magdalena
My name is Magdalena

يمكنك أيضًا إضافة بعض النصوص السريعة للسماح للمستخدم بمعرفة ما يجب عليه كتابته:

name_input = input('Please type your name:')
print('My name is', name_input)
 
Please type your name: Magdalena
My name is Magdalena

عبارات If

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

يمكن دمج عبارات if مع عوامل حسابية، مثل المساواة (==) أو أكبر من (>) أو أقل من (<) أو لا يساوي (!=) بالإضافة إلى الكلمات الأساسية or و and.

في بايثون، تبدو صيغة if الأساسية كما يلي:

if <condition>:
    <statement>

تنتهي كل عبارة if بنقطتين. من المهم أيضًا أن تتذكر المسافة البادئة: يتم دائمًا وضع مسافة بادئة للكتلة الشرطية (الممثلة بـ <statement> في المثال أعلاه). تخبر كتلة الشرط المترجم بما يجب فعله إذا تم استيفاء شرط if. إذا لم يتم استيفاء الشرط، فسينتقل المترجم إلى العبارة التالية في الكود.

يمكنك إضافة عدة عبارات if.

x = 3
if x < 5:
    print('x is very small')
 
if x > 100:
    print('x is very big')
 
if x > 5 and x < 100:
    print('x is in range between 5 and 100')

يمكننا أيضًا إضافة كلمة أساسية else إلى عبارة if، مما سيجعلها عبارة if-else. سيتم تنفيذ الكود الموجود داخل الخيار else عندما لا يتم استيفاء الشرط الموجود في عبارة if.

age = 22
if age =< 18:
    print("You can't buy alcohol yet.")
else:
    print("You can buy alcohol.")

هناك أيضًا نوع ثالث من الكلمات الرئيسية المتعلقة بالشروط: elif، وهو اختصار لـ “else if”. الفرق بين else و elif هو أن elif يسمح لنا بإضافة تعبير. إنها أكثر أناقة قليلاً من عبارات if المتعددة:

age = 22
if age =< 18:
    print("You can't buy alcohol at all.")
if age > 18 and age < 21:
    print("You can buy alcohol in Europe but not in the US.")
else:
    print("You can buy alcohol everywhere.")

حلقة For / حلقة While

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

دعنا نستخدم القائمة أدناه كمجموعة من البيانات:

to_do_list = ['meet Anna', 'buy milk', 'finish latest blog post']
for task in to_do_list:
    print(task)
 
meet Anna
buy milk
finish latest blog post

هناك كلمتان رئيسيتان في حلقة for : for و in. الكلمة الأساسية for متبوعة بالاسم الذي قمنا بتعيينه لعنصر واحد في التسلسل (task، في مثالنا). الكلمة الأساسية in متبوعة باسم التسلسل (to_do_list، في مثالنا). ينتهي كل قسم مُهيئ للحلقة بنقطتين. يجب وضع مسافة بادئة لجسم حلقة for، تمامًا كما في عبارات if.

هناك نوع آخر من الحلقات: حلقة while. لديها بناء جملة مختلف قليلاً عن حلقة for وتعمل بشكل مختلف. بينما تنفذ حلقات while جسمها فقط عندما يكون الشرط في بداية الحلقة صحيحًا. وسوف يكرر تلك المجموعة من التعليمات البرمجية حتى يصبح الشرط غير صحيح. وهنا بناء الجملة العام:

while <condition>:
    <block of code>

دعونا نلقي نظرة على مثال:

maxValue = 10
i = 1
while i <= maxValue:
    print(i)
    i += 1

ستقوم هذه الدالة بطباعة العنصر i وإضافة 1 إليه عدة مرات عندما يكون الشرط i <= maxValue صحيحًا – أي أن i أقل من أو يساوي 10.

نستخدم حلقات while عندما لا نعرف العدد الدقيق للمرات التي يجب فيها تنفيذ عبارة الحلقة. تعد حلقات for أكثر شيوعًا ويمكن استخدامها في معظم الحالات؛ يجب عليك استخدام حلقة while فقط إذا كان من المستحيل استخدام حلقة for.

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

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


اكتشاف المزيد من بايثون العربي

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Scroll to Top

اكتشاف المزيد من بايثون العربي

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

Continue reading