البرمجة

أنواع البيانات في بايثون

أنواع البيانات والعمليات الأساسية في لغة بايثون

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

أولاً: أنواع البيانات في لغة بايثون

في بايثون، تُصنّف البيانات إلى أنواع متعددة، تختلف من حيث طبيعتها، وسلوكها، والعمليات التي يمكن إجراؤها عليها. فيما يلي عرض مفصل لأهم أنواع البيانات:

1. الأنواع الأساسية (Primitive Types)

الأعداد الصحيحة (Integers)

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

python
x = 10 y = -5 z = 0

تدعم بايثون العمليات الحسابية على الأعداد الصحيحة مثل الجمع، الطرح، الضرب، القسمة، الأس، والقسمة الصحيحة.

الأعداد العشرية (Float)

القيم من النوع float تمثل الأعداد التي تحتوي على جزء عشري:

python
x = 3.14 y = -0.001 z = 2.0

يُستخدم هذا النوع في الحسابات التي تتطلب دقة أعلى، مثل العمليات المالية أو العلمية.

الأعداد المركبة (Complex)

بايثون تدعم الأعداد المركبة والتي تكون على الشكل a + bj، حيث a هو الجزء الحقيقي وb هو الجزء التخيلي:

python
z = 2 + 3j

القيم المنطقية (Boolean)

النوع bool يُمثل القيمتين المنطقيتين True وFalse، ويُستخدم في التحقق من الشروط والعمليات المنطقية:

python
a = True b = False

2. السلاسل النصية (Strings)

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

python
name = "Python" sentence = 'Learning is fun'

السلاسل النصية في بايثون غير قابلة للتغيير (Immutable)، وتدعم العديد من العمليات مثل التقطيع، التكرار، والبحث.

3. القوائم (Lists)

القوائم هي تراكيب بيانات مرنة قابلة للتغيير (Mutable) ويمكن أن تحتوي على عناصر من أنواع مختلفة:

python
my_list = [1, 2, 3, "apple", True]

يمكن تعديل عناصر القائمة، حذفها، أو إضافة عناصر جديدة.

4. المجموعات (Tuples)

المجموعات تشبه القوائم ولكنها غير قابلة للتغيير (Immutable):

python
my_tuple = (1, 2, 3, "banana")

تُستخدم عندما يكون من الضروري ضمان عدم تعديل القيم بعد تعريفها.

5. المجموعات غير المرتبة (Sets)

المجموعات هي نوع من تراكيب البيانات التي لا تحتوي على عناصر مكررة وتكون غير مرتبة:

python
my_set = {1, 2, 3, 4}

تُستخدم في العمليات التي تتطلب مقارنة المجموعات أو إزالة التكرارات.

6. القواميس (Dictionaries)

القواميس هي نوع من تراكيب البيانات تُستخدم لتخزين أزواج مفتاح-قيمة (Key-Value):

python
person = {"name": "John", "age": 30}

تُعد القواميس من أقوى الأدوات في بايثون لمعالجة البيانات المرتبطة بعلاقات منطقية.

ثانياً: العمليات الأساسية في لغة بايثون

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

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

تشمل العمليات الحسابية الأساسية:

العملية الرمز الوصف
الجمع + جمع رقمين
الطرح - طرح رقم من آخر
الضرب * ضرب رقمين
القسمة / قسمة رقمين (نتيجة float)
باقي القسمة % باقي القسمة (modulus)
الأس ** رفع الرقم إلى قوة معينة
القسمة الصحيحة // قسمة رقمين بدون كسور

مثال:

python
a = 10 b = 3 print(a + b) # 13 print(a ** b) # 1000

2. العمليات المقارنية

تُستخدم لمقارنة القيم:

العملية الرمز الوصف
يساوي == تحقق من التساوي
لا يساوي != تحقق من عدم التساوي
أكبر من > تحقق إذا كانت القيمة أكبر
أصغر من < تحقق إذا كانت القيمة أصغر
أكبر أو يساوي >= تحقق من الأكبر أو التساوي
أصغر أو يساوي <= تحقق من الأصغر أو التساوي

3. العمليات المنطقية

تُستخدم للربط بين العبارات الشرطية:

العملية الكلمة المفتاحية الوصف
و and تحقق إذا كانت جميع الشروط صحيحة
أو or تحقق إذا كان أحد الشروط صحيحاً
ليس not عكس نتيجة الشرط

مثال:

python
x = 5 print(x > 2 and x < 10) # True

4. عمليات على السلاسل النصية

السلاسل النصية تدعم عدة عمليات مهمة:

  • التكرار: *

  • الدمج: +

  • التقطيع: [start:end]

  • الفحص: in

python
text = "Python" print(text * 2) # PythonPython print(text[1:4]) # yth print("th" in text) # True

5. عمليات على القوائم والمجموعات

بايثون توفر مجموعة واسعة من العمليات على القوائم:

  • الإضافة: append(), insert()

  • الحذف: remove(), pop()

  • الفحص: in

  • الطول: len()

مثال:

python
fruits = ["apple", "banana"] fruits.append("orange") print(fruits) # ['apple', 'banana', 'orange']

6. عمليات على القواميس

من العمليات الأساسية على القواميس:

  • إضافة عنصر: dict[key] = value

  • حذف عنصر: del dict[key]

  • الحصول على المفاتيح: dict.keys()

  • القيم: dict.values()

مثال:

python
student = {"name": "Ali", "age": 20} student["grade"] = "A"

ثالثاً: التحويل بين أنواع البيانات

من الممارسات الشائعة في البرمجة هو تحويل نوع بيانات إلى آخر. توفر بايثون دوال تحويل مدمجة مثل:

الدالة التحويل
int() تحويل إلى عدد صحيح
float() تحويل إلى عدد عشري
str() تحويل إلى سلسلة نصية
list() تحويل إلى قائمة
tuple() تحويل إلى مجموعة
set() تحويل إلى مجموعة غير مرتبة

مثال:

python
x = "123" y = int(x) # 123 كعدد صحيح

جدول مقارن بين أنواع البيانات المختلفة في بايثون

النوع قابل للتغيير يسمح بالتكرار يحفظ الترتيب الاستخدام الأساسي
int لا لا لا الحسابات الرياضية
float لا لا لا القيم العشرية الدقيقة
str لا نعم نعم التعامل مع النصوص
list نعم نعم نعم تخزين بيانات مرنة وقابلة للتغيير
tuple لا نعم نعم تخزين بيانات ثابتة
set نعم لا لا إزالة العناصر المكررة
dict نعم نعم نعم تخزين أزواج مفتاح-قيمة

رابعاً: أهمية إتقان الأنواع والعمليات الأساسية

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

علاوة على ذلك، فإن التعامل مع تراكيب البيانات المعقدة في المشاريع الكبيرة يتطلب قدرة عالية على التلاعب بأنواع البيانات، واستخدام العمليات المناسبة لتحليل البيانات، تصفيتها، وتصنيفها. كما أن كثيرًا من المكتبات المتقدمة في بايثون مثل NumPy وPandas وTensorFlow تعتمد على أساس قوي من فهم الأنواع الأساسية.

المصادر والمراجع

  • Van Rossum, Guido. The Python Language Reference. Python Software Foundation.

  • Lutz, Mark. Learning Python (5th Edition). O'Reilly Media, 2013.