Python

كيفية تركيب الجُمل البرمجية في Python

كُتب بواسطة محمود الشوبكي

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

“المسافات البادئة” Indentations:

على خلاف معظم لغات البرمجة الأخرى والتي تعتمد في تنظيم الجمل على استخدام علامات الترقيم أو الأقواس {}، فإن بايثون تعتمد على الإزاحات أو المسافات البادئة.

print "Hello, World!"
  • حيث أن هذه العبارة البسيطة منفردة وليست جزءًا من “تركيبة” Suite (مجموعة من العبارات الفردية والتي تشكل معّا كتلة برمجية واحدة ) فتكتب من بداية السطر بدون مسافات.
  • أما العبارات المركبة أو المعقدة (مثل if, while, def, class ) فهي تتكون من جزئين هما “رأس” Heading و “تركيبة” Suite.
  • تكتب الرأس وفي نهايته نقطتان (:) وتبدأ التركيبة من السطر التالي مع ترك مسافة بادئة في بداية كل سطر.
  • لا يشترط عدد معين من  المسافات، ولكن يجب أن يكون عدد المسافات ثابت في جميع أسطر التركيبة.
  • للتوضيح أكثر تأمل الكود التالي جيدًا:
if website == "KeefCode" : # this is the heading
    # this is the suite 
    # all the lines here should have the same indentation
    print "Welcome!"
    print "you're  in the right place!"
else : # another heading
  # another suite
  print "I think you should visit KeefCode, I'm sure you'll like it"
  • الكود السابق سيعمل بشكل جيد بدون أخطاء تخص الإزاحة، لكن الكود التالي سيحدث خطأ:
if website == "KeefCode" : # this is the heading
    # this is the suite 
    # all the lines here should have the same indentation 
    print "Welcome!"
  print "you're  in the right place!"
else : # another heading
  # another suite
  print "I think you should visit KeefCode, I'm sure you'll like it"

“المعرّفات” Identifiers:

وهي أسماء تستخدم لتعريف “متغير” Variable، “دالة” Function، “صنف” Class، أو “وحدة” Module (مثل كلمة website في الكود السابق) ويجب مراعاة التالي عند اختيار الاسم:

  • أن تبدأ بأي حرف كبير أو صغير (a-z) ويمكن أن تحتوي على أرقام أو _ دون أن تحتوي على رموز أخرى.
  • مراعاة حالة الأحرف، لأن بايثون حساسة بالنسبة لحالة الأحرف فـ Website و website معرَّفان مختلفان.
  • تجنب الأسماء المحجوزة (وهي الأسماء أو الدوال المعرّفة مسبقًا بواسطة اللغة لتأدية مهام معينة ولا يمكن استخدامها لتعريف متغير أو دالة أخرى مثل if و print في الكود السابق) وهذه قائمة بالأسماء المحجوزة في بايثون والتي ستتعرف على استخدام كل منها لاحقًا:

Python keywords

  • كتابة أكثر من جملة في سطر واحد، لفعل ذلك يتم الفصل بين الجمل بفاصلة منقوطة ; كما في الكود التالي:
print "Hello, World!" ; print "welcome to KeefCode"
  • كتابة عبارة واحدة على أكثر من سطر، وذلك بكتابة “باك سلاش” back slash \ في نهاية السطر لتدل على أن باقي الجملة في السطر التالي:
print 1 + 2 \
    + 3 + 4 \
    + 5 + 6
# the print result will be 21

كتابة الاقتباسات أو “السلاسل النصية” String:

ربما لاحظت بالأكواد السابقة تحديدًا بعد عبارة print يكتب النص المراد إخراجه للمستخدم محاطًا بعلامات الاقتباس.

  • بايثون تقبل كلًا من علامات الاقتباس الفردية و المزدوجة للسلاسل النصية ذات السطر الواحد، لكن يجب أن تبدأ وتنهي السلسلة النصية بعلامات اقتباس من نفس النوع.
  • أما السلاسل النصية متعددة الأسطر تستخدم علامة اقتباس ثلاثية ‘’’ أو “””، راقب الكود التالي:
single_quoted = 'Hi, I am a single quoted string'
double_quoted = "Hi, I'm a double quoted string"
triple_quoted = """ Hi, 
I'm a multi-line string """

“التعليقات” Comments:

وهي عبارات يتم تجاهلها عند ترجمة الكود وتُكتب لتسهيل قراءة الكود للآخرين أو توضيح أمرًا بخصوصه أو حتى لتُذكِّر نفسك لماذا كتبت هذا الجزء من الكود، ولمعرفة المزيد عن التعليقات اقرأ ما هي التعليقات في لغات البرمجة.

  • في بايثون يتم تعريف التعليق عن طريق إسباقه بـ رمز “المربع” Hash #.
  • ببساطة عندما يرى بايثون رمز # يتجاهل ما يليه وينتقل مباشرة للسطر التالي.
  • هل لاحظت التعليقات في الأكواد السابقة؟!

ربما بعض الأمور بدت واضحة والبعض الآخر لم يتضح لك كما ينبغي، فلا تقلق حيال ذلك فكل هذه الأمور ستصبح بديهية جدًا فيما بعد مع الممارسة ومتابعة التّعلم.

المصدر:

عن الكاتب

محمود الشوبكي

طالب طب . شغوف بعلوم الحاسب . وأرسم أحيانا :)

اترك تعليقًا

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