القائمة الرئيسية

الصفحات

دورة البرمجة بلغة بايثون - الدرس الخامس (أنواع البيانات في لغة بايثون)

دورة البرمجة بلغة بايثون - الدرس الخامس (أنواع البيانات في لغة بايثون)

دورة البرمجة بلغة بايثون - الدرس الخامس (أنواع البيانات في لغة بايثون)
في هذا البرنامج التعليمي ، ستتعرف على أنواع البيانات المختلفة التي يمكنك استخدامها في لغة بايثون.

أنواع البيانات في لغة بايثون
كل قيمة في لغة بايثون لها نوع بيانات. نظرًا لأن كل شيء هو كائن ، فإن أنواع البيانات هي في الواقع كلاسات ومتغيرات.

هناك أنواع مختلفة من البيانات في بايثون. سأذكر بعض الأنواع المهمة منها.

الارقام
تندرج الأعداد الصحيحة integers والأرقام العائمة float والأرقام المعقدة complex ضمن فئة الارقام في بايثون. يتم تعريفها على أنها فئات int و float و complex في لغة بايثون.

يمكننا استخدام الدالة ()type لمعرفة أي فئة ينتمي إليها متغير أو قيمة معينة. ولنفس الغرض يتم استخدام الدالة ()isinstance  للتحقق مما إذا كان الكائن ينتمي إلى فئة معينة.

a = 5
print(a, "is of type", type(a))

a = 2.0
print(a, "is of type", type(a))

a = 1+2j
print(a, "is complex number?", isinstance(1+2j,complex))

الناتج:

5 is of type <class 'int'>
2.0 is of type <class 'float'>
(1+2j) is complex number? True


يمكن أن تكون الأعداد الصحيحة بأي طول ، فهي محدودة فقط بالذاكرة المتاحة.

رقم الفاصلة العائمة دقيق لحد 15 منزلة عشرية. يتم فصل النقاط الصحيحة والعائمة بالنقاط العشرية. 1 هو عدد صحيح ، 1.0 رقم فاصلة عائمة.

تتم كتابة الأرقام المركبة في النموذج ، x + yj ، حيث x هو الجزء الحقيقي و y هو الجزء التخيلي. وهنا بعض الأمثلة.

>>> a = 1234567890123456789
>>> a
1234567890123456789
>>> b = 0.1234567890123456789
>>> b
0.12345678901234568
>>> c = 1+2j
>>> c
(1+2j)

لاحظ أنه تم اقتطاع المتغير العائم b.

القوائم List
القائمة عبارة عن تسلسل منظم من العناصر. وهي واحدة من أكثر أنواع البيانات المستخدمة في بايثون وهي مرنة للغاية. ولا يلزم أن تكون جميع العناصر في القائمة من نفس النوع.

الإعلان عن القائمة أمر واضح جدًا. يتم وضع العناصر المفصولة بفواصل بين قوسين [].

a = [1, 2.2, 'python']

يمكننا استخدام معامل التقطيع [] لاستخراج عنصر أو مجموعة من العناصر من قائمة. يبدأ المؤشر index في لغة بايثون بالرقم 0.

a = [5,10,15,20,25,30,35,40]

# a[2] = 15
print("a[2] = ", a[2])

# a[0:3] = [5, 10, 15]
print("a[0:3] = ", a[0:3])

# a[5:] = [30, 35, 40]
print("a[5:] = ", a[5:])

الناتج:

a[2] =  15
a[0:3] =  [5, 10, 15]
a[5:] =  [30, 35, 40]
القوائم قابلة للتغيير ، بمعنى ، يمكن تغيير قيمة عناصر القائمة.

a = [1, 2, 3]
a[2] = 4
print(a)

الناتج:
[1, 2, 4]

التوبل Tuple
التوبل هو ترتيب منظم للعناصر يشبه القائمة List. والفرق الوحيد هو أن الصفوف غير قابلة للتغيير. حيث لايمكن تعديل Tuple بمجرد إنشائه.

يتم استخدامه لحماية البيانات من الكتابة وعادةً ما تكون أسرع من القوائم حيث لا يمكن تغييرها ديناميكيًا.

يتم تعريفه بين قوسين () حيث يتم فصل العناصر بفواصل.

t = (5,'program', 1+3j)
يمكننا استخدام معامل التقطيع [] لاستخراج العناصر ولكن لا يمكننا تغيير قيمتها.

t = (5,'program', 1+3j)

# t[1] = 'program'
print("t[1] = ", t[1])

# t[0:3] = (5, 'program', (1+3j))
print("t[0:3] = ", t[0:3])

# Generates error
# Tuples are immutable
t[0] = 10

الناتج:

t[1] =  program
t[0:3] =  (5, 'program', (1+3j))
Traceback (most recent call last):
  File "test.py", line 11, in <module>
    t[0] = 10
TypeError: 'tuple' object does not support item assignment

السلاسل النصية String
السلسلة هي سلسلة من أحرف Unicode. يمكننا استخدام علامات الاقتباس المفردة أو علامات الاقتباس المزدوجة لتمثيل السلاسل النصية. يمكن الإشارة إلى السلاسل المتعددة الأسطر باستخدام علامات الاقتباس الثلاثية """ أو المفردة '''.

s = "This is a string"
print(s)
s = '''A multiline
string'''
print(s)

الناتج:

This is a string
A multiline
string

تمامًا مثل الlist والtuple ، يمكن استخدام معامل التقطيع [] مع السلاسل. وفي هذه الحالة السلاسل النصية تكون غير قابلة للتغيير.

s = 'Hello world!'

# s[4] = 'o'
print("s[4] = ", s[4])

# s[6:11] = 'world'
print("s[6:11] = ", s[6:11])

# Generates error
# Strings are immutable in Python
s[5] ='d'

الناتج:

s[4] =  o
s[6:11] =  world
Traceback (most recent call last):
  File "<string>", line 11, in <module>
TypeError: 'str' object does not support item assignment

المجموعات Set
Set هي مجموعة غير مرتبة من العناصر الفريدة. يتم تعريف Set بقيم مفصولة بفواصل داخل أقواس {}. العناصر في المجموعات تكون غير مرتبة.

a = {5,2,3,1,4}

# printing set variable
print("a = ", a)

# data type of variable a
print(type(a))

الناتج:

a =  {1, 2, 3, 4, 5}
<class 'set'>

يمكننا تنفيذ عمليات المجموعة مثل الاتحاد والتقاطع على مجموعتين. للمجموعات قيم فريدة. فهي تزيل التكرارات بشكل تلقائي.

a = {1,2,2,3,3,3}
print(a)

الناتج:
{1, 2, 3}

فبما أن المجموعة عبارة عن مجموعة غير مرتبة من العناصر ، فليس للفهرسة معنى في هذه الحالة . وبالتالي ، لا يعمل معامل التقطيع [] معها.

>>> a = {1,2,3}
>>> a[1]
Traceback (most recent call last):
  File "<string>", line 301, in runcode
  File "<interactive input>", line 1, in <module>
TypeError: 'set' object does not support indexing

القاموس Dictionary
القاموس عبارة عن مجموعة غير مرتبة من ازواج القيم المفتاحية.

يتم استخدامه بشكل عام عندما يكون لدينا كمية هائلة من البيانات. يتم استخدام المفتاح لاسترداد القيمة المقابلة له.

في بايثون ، يتم تعريف القواميس داخل الأقواس {} حيث يكون كل عنصر زوجًا في شكل (مفتاح:قيمة). يمكن أن يكون المفتاح والقيمة من أي نوع.


>>> d = {1:'value','key':2}
>>> type(d)
<class 'dict'>

نستخدم المفتاح لاسترداد القيمة المعنية. ولكن ليس العكس.


d = {1:'value','key':2}
print(type(d))

print("d[1] = ", d[1]);

print("d['key'] = ", d['key']);

# Generates error
print("d[2] = ", d[2]);

الناتج:


<class 'dict'>
d[1] =  value
d['key'] =  2
Traceback (most recent call last):
  File "<string>", line 9, in <module>
KeyError: 2

التحويل بين أنواع البيانات
يمكننا التحويل بين أنواع البيانات المختلفة باستخدام وظائف التحويل المختلفة مثل ()int و ()float و ()str وما إلى ذلك.


>>> float(5)
5.0

سيؤدي التحويل من float إلى int إلى اقتطاع القيمة (مما يجعلها أقرب إلى الصفر).


>>> int(10.6)
10
>>> int(-10.6)
-10

يجب أن يحتوي التحويل من وإلى السلسلة النصية على قيم متوافقة.


>>> float('2.5')
2.5
>>> str(25)
'25'
>>> int('1p')
Traceback (most recent call last):
  File "<string>", line 301, in runcode
  File "<interactive input>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1p'

يمكننا ايضاً التحويل بين انواع Tuple و List و Set.


>>> set([1,2,3])
{1, 2, 3}
>>> tuple({5,6,7})
(5, 6, 7)
>>> list('hello')
['h', 'e', 'l', 'l', 'o']

للتحويل إلى القاموس ، يجب أن يكون كل عنصر على شكل زوج من القيم كما يوضح المثال الآتي:

>>> dict([[1,2],[3,4]])
{1: 2, 3: 4}
>>> dict([(3,26),(4,44)])
{3: 26, 4: 44}

أتمنى ان يكون الدرس ممتعاً ومفيداً لكم ...


reaction:

تعليقات

تعليقان (2)
إرسال تعليق
  1. شكراا اخي جزاك اللة خير ممكن لي بسؤال كيف يمكن لي متابعة دوراتك

    ردحذف
    الردود
    1. على الرحب والسعة اخي. يمكنك التسجيل في القائمة البريدية باستخدامك ايميلك لكي يصلك كل جديد. او يمكن متابعة هذا الرابط بين فترة واخرى: https://www.ciscology4all.com/search/label/%D8%AF%D9%88%D8%B1%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9
      تحياتي لك ...

      حذف

إرسال تعليق