البرمجة

أساسيات تعلم بايثون للمبتدئين

أساسيات البرمجة بلغة بايثون

مقدمة

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

نشأة بايثون وتطورها

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

السمات المميزة للغة بايثون

  • سهولة القراءة والكتابة: تعتمد بايثون على تنسيق واضح من خلال استخدام المسافات البادئة (indentation) بدلًا من الأقواس، ما يُحسن من قراءة الشيفرة.

  • ديناميكية الكتابة: لا حاجة لتعريف نوع البيانات عند التصريح عن المتغيرات، مما يقلل من التعقيد في الشيفرة.

  • دعم واسع للمكتبات: تضم بايثون مكتبات قوية مثل NumPy، Pandas، TensorFlow، Flask، Django وغيرها.

  • قابلة للتكامل: يمكن دمجها مع لغات أخرى مثل C وJava وR.

  • متعددة الاستخدامات: تستخدم في تطبيقات سطح المكتب، الويب، تطبيقات الهواتف الذكية، الأتمتة، الروبوتات، إلخ.

تثبيت بايثون

قبل البدء بكتابة الشيفرة بلغة بايثون، يجب تثبيت مفسر بايثون. يمكن تحميله من الموقع الرسمي python.org. يُفضل استخدام الإصدار الأحدث إلا إذا تطلب مشروع ما استخدام إصدار محدد. كما يُنصح باستخدام بيئات افتراضية لإدارة الحزم باستخدام أدوات مثل virtualenv أو conda.

أدوات التطوير

من أشهر بيئات التطوير المخصصة لبايثون:

  • PyCharm: بيئة تطوير متكاملة قوية جدًا تدعم التحليل الساكن وتصحيح الأخطاء وإدارة الحزم.

  • Visual Studio Code: محرر خفيف يدعم إضافات بايثون ويوفر إمكانيات تصحيح وتشغيل الشيفرة.

  • Jupyter Notebook: مثالي لتحليل البيانات والتعلم الآلي بفضل دعمه لتقسيم الكود والنتائج في خلايا.

  • IDLE: بيئة التطوير الافتراضية التي تأتي مع بايثون.

المتغيرات وأنواع البيانات

المتغيرات

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

python
x = 5 # عدد صحيح y = 3.14 # عدد عشري name = "Ali" # سلسلة نصية

أنواع البيانات الأساسية

النوع المثال الشرح
int x = 10 عدد صحيح
float x = 3.14 عدد عشري
str x = "hello" سلسلة نصية
bool x = True نوع منطقي
list x = [1, 2, 3] قائمة
tuple x = (1, 2) مجموعة غير قابلة للتغيير
dict x = {"a": 1} قاموس
set x = {1, 2, 3} مجموعة فريدة

العمليات الأساسية

العمليات الحسابية

العملية الرمز المثال النتيجة
الجمع + 2 + 3 5
الطرح - 5 - 2 3
الضرب * 3 * 4 12
القسمة / 10 / 2 5.0
باقي القسمة % 10 % 3 1
الأس ** 2 ** 3 8
القسمة الأرضية // 10 // 3 3

المقارنات

العملية الرمز المثال
يساوي == a == b
لا يساوي != a != b
أكبر من > a > b
أصغر من < a < b
أكبر أو يساوي >= a >= b
أصغر أو يساوي <= a <= b

التحكم في تدفق البرنامج

الجمل الشرطية

python
x = 10 if x > 0: print("موجب") elif x == 0: print("صفر") else: print("سالب")

الحلقات التكرارية

while

python
i = 1 while i <= 5: print(i) i += 1

for

python
for i in range(5): print(i)

الدوال (Functions)

الدوال تستخدم لتقسيم البرنامج إلى أجزاء قابلة لإعادة الاستخدام:

python
def greet(name): print("مرحباً،", name) greet("أحمد")

يمكن أن تُرجع الدالة قيمة باستخدام return:

python
def square(x): return x * x print(square(4)) # 16

التعامل مع القوائم

القوائم هي نوع من أنواع البيانات يحتوي على مجموعة من العناصر القابلة للتغيير.

python
fruits = ["تفاح", "موز", "برتقال"] fruits.append("عنب") print(fruits[0]) # "تفاح"
الوظيفة الاستخدام
append() لإضافة عنصر في نهاية القائمة
insert(index, x) لإضافة عنصر في موقع معين
remove(x) لإزالة أول عنصر بقيمة x
pop() لحذف آخر عنصر
sort() لفرز العناصر

القواميس (Dictionaries)

القواميس تستخدم لتخزين أزواج من المفاتيح والقيم.

python
person = {"name": "أحمد", "age": 30} print(person["name"]) # "أحمد"

الاستثناءات ومعالجتها

تُستخدم الاستثناءات للتعامل مع الأخطاء المحتملة أثناء التنفيذ.

python
try: x = 1 / 0 except ZeroDivisionError: print("لا يمكن القسمة على صفر") finally: print("انتهى التنفيذ")

البرمجة الكائنية (OOP) في بايثون

بايثون تدعم البرمجة الكائنية (Object-Oriented Programming):

python
class Person: def __init__(self, name): self.name = name def say_hello(self): print("مرحبًا، اسمي", self.name) p = Person("ليلى") p.say_hello()

ملفات الإدخال والإخراج

يمكن التعامل مع الملفات باستخدام بايثون بسهولة:

python
with open("data.txt", "w", encoding="utf-8") as f: f.write("مرحبا بالعالم") with open("data.txt", "r", encoding="utf-8") as f: content = f.read() print(content)

المكتبات الشهيرة

المكتبة الاستخدام
math العمليات الرياضية المتقدمة
random التوليد العشوائي
datetime التعامل مع الوقت والتاريخ
os التعامل مع نظام التشغيل
re التعبيرات النمطية
pandas تحليل البيانات
numpy العمليات العددية
matplotlib الرسوم البيانية

جدول يوضح المقارنة بين بعض مفاهيم البرمجة الأساسية:

المفهوم التعريف مثال بلغة بايثون
المتغير حاوية لتخزين قيمة x = 5
الدالة مجموعة أوامر قابلة لإعادة الاستخدام def greet(): print("Hello")
الحلقة تكرار مجموعة أوامر for i in range(5): print(i)
الشرط تنفيذ أوامر بناءً على تحقق شرط معين if x > 0: print("موجب")
الكائن (Object) كيان يمثل خصائص وسلوكيات p = Person("Ali")
الاستثناء معالجة خطأ محتمل أثناء التشغيل try: 1/0 except: print("خطأ")

الخاتمة

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

المراجع:

  • Python Software Foundation. The Python Language Reference Manual. https://www.python.org

  • Lutz, Mark. Learning Python, O'Reilly Media.