أنواع البيانات Data Types في Python
ماهي أنواع البيانات في لغة بايثون…؟؟!! وماهو تصنيف أنواع البيانات في Python..؟!! كيف يتم تحويل بين أنواع البيانات في Python...؟!! وكيف يتم العمل مع أنواع البيانات المتنوعة في بايثون..؟؟!
تعد Python من لغات البرمجة الأفضل في التعامل البيانات فهي من أفضل اللغات البرمجية التي تستخدم الذكاء الاصطناعي وفي مجال تحليل البيانات عموماً. في هذا المقال نتكلم على أنواع البيانات في Python التي القينا عليها نظرة في مقال عن المتغيرات في Python وفي هذا المقال سنتعرف عليها بالتفصيل لنبدأ...
في هذا المقال سنتعرف على :
- أنواع البيانات في Python.
- البيانات المنطقية Boolean في Python.
- البيانات الرقمية Numeric في Python.
- البيانات النصية String في Python.
أنواع البيانات في Python
في البرمجة ، يعد نوع البيانات Data Type مفهومًا مهمًا. حيث يمكن للمتغيرات تخزين البيانات من أنواع مختلفة ، ويمكن للأنواع المختلفة القيام بأشياء مختلفة. و تتضمن لغة بايثون أنواع البيانات التالية :
- بيانات منطقية Boolean Types وتتمثل في bool.
- بيانات رقمية Numeric Types وتكون أحد الأنواع التالية int, float, complex
- بيانات نصية Text Types وتتمثل في srt.
- لايوجد بيانات None Type وتتمثل بـ None ( لايوجد اي لاتوجد قيمه يمثل في بعض اللغات بـ Null في بايثون بـ None).
هنالك أيضاً فئات لمجموعات البيانات في Python وهي حاويات تضم مجموعة من البيانات لكل فئة من هذه الفئات خصائصها ودوال Methods للعمل معها وهي في Python مثال للـ Data structure وهذه الفئات التالي:
- البيانات التسلسلية Sequence Types وتتمثل في list, tuple, range.
- البيانات التخطيطية Mapping Types وتتمثل في القواميس dir.
- مجموعات البيانات Set Types وتتمثل في set.
كما ذكرنا في مقال عن المتغيرات في بايثون أن تحديد نوع البيانات يتم لحظة إسناد القيمة للمتغير لنرى أمثلة على القيم أنواع البيانات المختلفة هنا مثال يوضح القيم المختلفة لأنواع البيانات :
x = True #booean type
#Numeric types
x = 1 # integer
x = 1.0 # float
x = 1j #complex
x ='Hello, world' # text or string type
#None
x = None
#Mapping types
x = {"name" : "Sara", "age" : 35} # dictionary
#sequence types
x = ['red', 'green', 'blue' ] #list
x = ( 'red', 'green', 'blue') #tuple
x = range(3) #range
#set types
x = { 'red', 'green', 'blue'} #set
و لتغيير نوع البيانات في بايثون من نوع إلى آخر علينا استخدام الدالة المناسبة للنوع المراد تحويل البيانات إليه ويوضح الشكل التالي دوال التحويل بين أنواع البيانات المختلفة في بايثون ويوضح المثال التالي الدوال :
بعض هذه الدوال سيظهر معنا في الامثلة لهذا المقال وسنرى طريقة عملها.
البيانات المنطقية Boolean في Python
نوع البيانات المنطقية في Python يمثل القيم المنطقية (Boolean) وهو النوع الذي يستخدم لتخزين القيم الصحيحة أو خاطئة، وتمثل بالقيم المنطقية بإحدى قيمتين True أو False وتكون البيانات المنطقية أما قيمة مسندة مباشر للمتغير أو قيمة مرجعة من داله وغالباً ما تكون نتيجة من التعبيرات المنطقية لاحظ /ي النتائج في المثال التالي :
print(2 > 1)
print(2 < 1)
print(2 == 3)
print(2 >= 2)
print(2 > 1 and 2 > 3)
print(2 > 1 or 2 > 3)
print( not 3 > 2)
لتكـن النتيجـة
True False False True False True False
في المثال نلاحظ طريقة استخدام معاملات المقارنة comparison operators مثل (>, <, == ) والمعاملات المنطقية مثل (and, or , not ) مع التعبيرات البرمجية لتكون نتيجتها هي بيانات منطقية True او False .
في Python يمكن تقييم أي نوع من أنواع البيانات الى بيانات منطقية من خلال الدالة bool() والتي ترجع قيمة اما True أو False بحسب القيمة المعطاة. ففي حال وجود قيم سترجع True وفي حال لم توجد أي قيمة سترجع False ، فالدالة bool() تقوم بـ :
- إرجاع True لكل القيم الرقمية ماعد قيمة الصفر 0 فسترجع False .
- وارجاع True لكل القيم النصية ماعدا النص الفارغ " " أو ' ' فسترجع False .
- وإرجاع True لكل قيم مجموعات البيانات سواء كانت list, tuple, set, and dictionary ماعدا المجموعات الخالية من العناصر ترجع False .
كما ترجع False مع None وبالطبع مع القيمة المنطقية False ، لنرى المثال التالي:
# bool function returns True
print(bool("Hello"))
print(bool(1))
print(bool(["red", "green", "blue"]))
print(bool(("red", "green", "blue")))
print(bool( {"name" : "sara", "age" : 35}))
# bool function returns False
print(bool(0))
print(bool(""))
print(bool(()))
print(bool([]))
print(bool({}))
print(bool(False))
print(bool(None))
البيانات الرقمية Numeric في Python
و تتمثل أنواع البيانات الرقمية في بايثون في ثلاثة أنواع هي :
- الأعداد الصحيحة (Integers): وهي الأنواع التي تستخدم لتخزين الأرقام الصحيحة الموجبة والسالبة، ويتم تعريفها في Python باستخدام الرقم نفسه دون استخدام أي علامات مميزة .
- الأعداد العشرية (Floats): وهي الأنواع التي تستخدم لتخزين الأرقام العشرية، ويتم تعريفها باستخدام الرقم وإضافة نقطة عشرية، Float يشمل الأعداد الصحيحة الموجبة والسالبة بالإضافة إلى الأعداد والكسور العشرية يمكن أن يكون Float أيضًا أرقامًا علمية بحرف "e" للإشارة إلى قوة 10.
- الأعداد المركبة (Complex): وتشمل الأعداد المركبة (التخيلية) حيث يشير j الى الجزء التخيلي.
وتستخدم الدوال complex(), int(), float() في التحويل الى الانواع الرقمية المختلفة حيث تقوم الدالة int() بالتحويل القيمة الى نوع int وتقوم الدالة float() بتحويل القيمة الى float وكذلك الدالة complex() لاحظ /ي المثال التالي:
x = 1 # int
y = 1.5 # float
z = 1j # complex
#convert from float to int:
int_y = int(y)
#convert from int to float:
float_x = float(x)
#convert from int to complex:
complex_x = complex(x)
print(type(int_y))
print(type(float_x))
print(type(complex_x))
البيانات النصية String في Python
السلاسل النصية (Strings) هذا النوع من أنواع البيانات في Python يستخدم لتخزين النصوص، ويتم تعريفها باستخدام علامات التنصيص المزدوجة "..." أو الفردية '...' حول النص، أي أن السلاسل النصية (Strings) تتمثل بالقيم التي تكون بين علامات نصية سواء كانت علامة تنصيص مفردة أو مزدوجة مثلا:
#String variables can be declared either by using single or double quotes:
str= 'Hello,World'
#same as
str= "Hello,World"
وان كانت البيانات النصية عبارة عن أكثر من سطر سوف تكون البيانات بين ثلاثة من علامات التنصيص سواء كانت من النوع المفرد او المزدوج مثلاً:
#Multiple line text
x = """ Hello,world
Hello,world
Hello,world
"""
#OR
x = ''' Hello,world
Hello,world
Hello,world
'''
وللربط بين متغيرين من نوع string نستخدم المعامل (+) وهو مايعرف بـ String Concatenation مثلاً:
a , b = 'Hello','World'
print(a +" "+ b)
و لتحويل أي نوع من البيانات إلى نص نستخدم الدالة str() والتي تقوم بتحويل أنواع البيانات المختلفة الى بيانات نصية كم في المثال التالي :
x = str(1)
y = str(1.5)
z = str(True)
print(type(x))
print(type(y))
print((type(z)))
و لتنسيق النصوص نستخدم الدالة format() حيث تستخدم الدالة format() مع العناصر النائبة { } لإدراج قيم غير نصية للنصوص حيث تعدد أشكال الاستخدام للدالة format() لنرى المثال التالي :
size = 37
price = 88.50
text = " The shoes size is {0}, and its price is {1}"
print(text.format(size,price))
# spaces formatting
print(" The shoes size is {0:<5}, and its price is {1:>5}".format( size,price))
# for + formatting
print(" The shoes size is {0:<5}, and its price is {1:+}".format( size,price))
print(" The shoes size is {0:<5}, and its price is {1:+05}".format( size,price))
#can use any name
print(" The shoes size is {x}, and its price is {y}".format(x = price,y= size))
print(" The shoes size is {x}, and its price is {y}".format(x = size,y= price))
لتكـن النتيجـة
The shoes size is 37, and its price is 88.5 The shoes size is 37 , and its price is 88.5 The shoes size is 37 , and its price is +88.5 The shoes size is 37 , and its price is +88.5 The shoes size is 88.5, and its price is 37 The shoes size is 37, and its price is 88.5
كما ان هنالك العديد من الدوال التي تعمل مع string وتقوم بتنسيق النصوص هذه الدوال ترجع قيم دون أن تغير في قيمة الـ String ومنها مايتضح في الشكل التالي :
لاحظ /ي النتائج في المثال التالي:
s = 'Welcome to Python programming'
print(s.upper())
print(s.lower())
print(s.casefold())
print(s.capitalize())
print(s.swapcase())
لتكـن النتيجـة
WELCOME TO PYTHON PROGRAMMING welcome to python programming welcome to python programming Welcome to python programming wELCOME TO pYTHON PROGRAMMING
أيضاً توفر لغة بايثون العديد من الدوال لمعالجة String هذه الدوال تم شرحها في مقال مفصل عن String في Python.
جميع الأمثلة في هذا المقال متوفرة هنا.
Python توفر العديد من أنواع البيانات المختلفة التي تساعد على تخزين ومعالجة المعلومات بشكل فعال، مما يتيح للمطورين إمكانية التعامل مع مجموعة متنوعة من البيانات بطريقة سهلة ومرنة. وبإستخدام هذه الأنواع الأساسية، يمكن للمطورين تطوير تطبيقات مختلفة ومنتجات برمجية مبتكرة وقوية.
إلى هنا ينتهي هذا المقال الذي تعرفنا من خلاله على أنواع البيانات في لغة Python مع أمثلة على طريقة العمل معها من خلال تعليمات Python . ونذكر أنه يجب على المطورين أن يتعلموا كيفية استخدام هذه الأنواع بشكل صحيح وفعال، وكيفية اختيار النوع المناسب لكل مهمة أو تطبيق. ويمكن أيضًا استخدام المكتبات الخارجية التي توفر أنواع بيانات متخصصة لتحقيق الأهداف الخاصة بالمشروع.