أساسيات البرمجة بلغة بايثون
مقدمة
تُعدّ لغة بايثون (Python) واحدة من أكثر لغات البرمجة شيوعًا وانتشارًا في العالم، ويرجع ذلك إلى سهولتها وبساطتها وقوتها في الوقت ذاته. تتميز هذه اللغة بتصميمها النظيف وسهولة قراءة الشيفرة البرمجية، مما يجعلها مثالية للمبتدئين وكذلك للمحترفين. تدعم بايثون البرمجة الكائنية والوظيفية والإجرائية، وتستخدم على نطاق واسع في مجالات متنوعة كتحليل البيانات، والذكاء الاصطناعي، وتطوير الويب، وأتمتة المهام، وتطوير الألعاب، والمزيد.
نشأة بايثون وتطورها
تم تطوير لغة بايثون على يد المبرمج الهولندي “غيدو فان روسوم” في أواخر الثمانينات، وتم إطلاق النسخة الأولى منها عام 1991. سعى روسوم إلى تصميم لغة تتميز بوضوح بنيوي، وبقدرة عالية على التوسع. لم تكن بايثون في بداياتها تحظى بشعبية كبيرة، لكنها ومع مرور الوقت وتطور مكتباتها البرمجية، أصبحت من الأدوات الأساسية في مجالات متقدمة مثل تعلم الآلة وتحليل البيانات.
السمات المميزة للغة بايثون
-
سهولة القراءة والكتابة: تعتمد بايثون على تنسيق واضح من خلال استخدام المسافات البادئة (indentation) بدلًا من الأقواس، ما يُحسن من قراءة الشيفرة.
-
ديناميكية الكتابة: لا حاجة لتعريف نوع البيانات عند التصريح عن المتغيرات، مما يقلل من التعقيد في الشيفرة.
-
دعم واسع للمكتبات: تضم بايثون مكتبات قوية مثل NumPy، Pandas، TensorFlow، Flask، Django وغيرها.
-
قابلة للتكامل: يمكن دمجها مع لغات أخرى مثل C وJava وR.
-
متعددة الاستخدامات: تستخدم في تطبيقات سطح المكتب، الويب، تطبيقات الهواتف الذكية، الأتمتة، الروبوتات، إلخ.
تثبيت بايثون
قبل البدء بكتابة الشيفرة بلغة بايثون، يجب تثبيت مفسر بايثون. يمكن تحميله من الموقع الرسمي python.org. يُفضل استخدام الإصدار الأحدث إلا إذا تطلب مشروع ما استخدام إصدار محدد. كما يُنصح باستخدام بيئات افتراضية لإدارة الحزم باستخدام أدوات مثل virtualenv أو conda.
أدوات التطوير
من أشهر بيئات التطوير المخصصة لبايثون:
-
PyCharm: بيئة تطوير متكاملة قوية جدًا تدعم التحليل الساكن وتصحيح الأخطاء وإدارة الحزم.
-
Visual Studio Code: محرر خفيف يدعم إضافات بايثون ويوفر إمكانيات تصحيح وتشغيل الشيفرة.
-
Jupyter Notebook: مثالي لتحليل البيانات والتعلم الآلي بفضل دعمه لتقسيم الكود والنتائج في خلايا.
-
IDLE: بيئة التطوير الافتراضية التي تأتي مع بايثون.
المتغيرات وأنواع البيانات
المتغيرات
المتغير هو حاوية تخزن قيمة معينة يمكن تغييرها خلال تنفيذ البرنامج. في بايثون، لا حاجة لتحديد نوع المتغير صراحة:
pythonx = 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 |
التحكم في تدفق البرنامج
الجمل الشرطية
pythonx = 10
if x > 0:
print("موجب")
elif x == 0:
print("صفر")
else:
print("سالب")
الحلقات التكرارية
while
pythoni = 1
while i <= 5:
print(i)
i += 1
for
pythonfor i in range(5):
print(i)
الدوال (Functions)
الدوال تستخدم لتقسيم البرنامج إلى أجزاء قابلة لإعادة الاستخدام:
pythondef greet(name):
print("مرحباً،", name)
greet("أحمد")
يمكن أن تُرجع الدالة قيمة باستخدام return:
pythondef square(x):
return x * x
print(square(4)) # 16
التعامل مع القوائم
القوائم هي نوع من أنواع البيانات يحتوي على مجموعة من العناصر القابلة للتغيير.
pythonfruits = ["تفاح", "موز", "برتقال"]
fruits.append("عنب")
print(fruits[0]) # "تفاح"
| الوظيفة | الاستخدام |
|---|---|
append() |
لإضافة عنصر في نهاية القائمة |
insert(index, x) |
لإضافة عنصر في موقع معين |
remove(x) |
لإزالة أول عنصر بقيمة x |
pop() |
لحذف آخر عنصر |
sort() |
لفرز العناصر |
القواميس (Dictionaries)
القواميس تستخدم لتخزين أزواج من المفاتيح والقيم.
pythonperson = {"name": "أحمد", "age": 30}
print(person["name"]) # "أحمد"
الاستثناءات ومعالجتها
تُستخدم الاستثناءات للتعامل مع الأخطاء المحتملة أثناء التنفيذ.
pythontry:
x = 1 / 0
except ZeroDivisionError:
print("لا يمكن القسمة على صفر")
finally:
print("انتهى التنفيذ")
البرمجة الكائنية (OOP) في بايثون
بايثون تدعم البرمجة الكائنية (Object-Oriented Programming):
pythonclass Person:
def __init__(self, name):
self.name = name
def say_hello(self):
print("مرحبًا، اسمي", self.name)
p = Person("ليلى")
p.say_hello()
ملفات الإدخال والإخراج
يمكن التعامل مع الملفات باستخدام بايثون بسهولة:
pythonwith 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.

