مقدمة
في لغة Python، مثلما هو الحال في جميع لغات البرمجة، تُستخدم أنواع البيانات لتصنيف نوع معين من البيانات. يعد هذا أمرًا مهمًا لأن نوع البيانات المحدد الذي تستخدمه سيحدد القيم التي يمكنك تعيينها له وما يمكنك فعله به (بما في ذلك العمليات التي يمكنك تنفيذها عليه).
في هذا البرنامج التعليمي، سنتناول الأنواع الهامة للبيانات الأصلية في Python. ليس هذا التحقيق شاملاً لأنواع البيانات، ولكنه سيساعدك في التعرف على الخيارات المتاحة لك في Python.
المتطلبات المسبقة
يجب أن يكون لديك Python 3 مثبتًا وبيئة برمجة معدة على جهاز الكمبيوتر الخاص بك أو الخادم الخاص بك. إذا لم يكن لديك بيئة برمجة معدة، يمكنك الرجوع إلى أدلة التثبيت والإعداد لبيئة البرمجة المحلية أو لـ بيئة برمجة على خادمك المناسبة لنظام التشغيل الخاص بك (Ubuntu، CentOS، Debian، إلخ).
الخلفية
طريقة واحدة للتفكير في أنواع البيانات هي أن ننظر إلى أنواع مختلفة من البيانات التي نستخدمها في العالم الحقيقي. مثال على البيانات في العالم الحقيقي هي الأرقام: يمكننا استخدام الأعداد الصحيحة (0، 1، 2، …) والأعداد الصحيحة (…, -1، 0، 1، …) والأعداد اللا متناهية (π)، على سبيل المثال.
عادةً ما يمكننا في الرياضيات دمج الأرقام من أنواع مختلفة والحصول على نوع من الإجابة. قد نرغب في إضافة 5 إلى π، على سبيل المثال:
5 + π
يمكننا إما الاحتفاظ بالمعادلة كالإجابة للتحسب للعدد اللا متناهي، أو تقريب π إلى عدد يحتوي على عدد قليل من الأماكن العشرية، ثم إضافة الأرقام معًا:
5 + π = 5 + 3.14 = 8.14
ولكن، إذا بدأنا في محاولة تقييم الأرقام بنوع آخر من البيانات، مثل الكلمات، ستبدأ الأمور في أن تفقد المعنى. كيف يمكننا حل المعادلة التالية؟
sky + 8
بالنسبة للحواسيب، يمكن اعتبار كل نوع من البيانات مختلفًا تمامًا، مثل الكلمات والأرقام، لذا سنحتاج إلى أن نكون حذرين في كيفية استخدامها لتعيين القيم وكيفية التعامل معها من خلال العمليات.
الأرقام
أي رقم تدخله في Python سيتم تفسيره كرقم؛ لست مطالبًا بتعريف نوع البيانات التي تقوم بإدخالها. ستعتبر Python أي رقم مكتوب بدون عشرات عشريّة كعدد صحيح (كما في 138
) وأي رقم مكتوب مع عشرات عشريّة كعدد عائم (كما في 138.0
).
الأعداد الصحيحة
كما هو الحال في الرياضيات، الأعداد الصحيحة في برمجة الحاسوب هي أعداد صحيحة يمكن أن تكون إيجابية أو سالبة أو صفر (…، -1
، 0
، 1
، …). يمكن أن يُعرف العدد الصحيح أيضًا باسم int
. كما هو الحال في لغات البرمجة الأخرى، يجب عليك عدم استخدام الفواصل في الأعداد التي تتكون من أربعة أرقام أو أكثر، لذا عند كتابة 1,000 في برنامجك، اكتبها ك1000
.
معلومات: لمتابعة الشفرة المثالية في هذا البرنامج التعليمي، افتح قناة Python التفاعلية على النظام المحلي الخاص بك بتشغيل الأمر python3
. بعد ذلك يمكنك نسخ الأمثلة أو لصقها أو تحريرها عن طريق إضافتها بعد العلامة المتفاعلة >>>
.
يمكننا طباعة العدد الصحيح بهذه الطريقة:
Output-25
أو، يمكننا تعريف متغير، الذي في هذه الحالة هو في الأساس رمز للرقم الذي نستخدمه أو نعمل عليه، مثل هذا:
Output-25
يمكننا القيام بالرياضيات باستخدام الأعداد الصحيحة في لغة Python أيضًا:
Output48
يمكن استخدام الأعداد الصحيحة بعدة طرق داخل برامج Python، وكلما قمت بتعلم المزيد عن اللغة ستجد الكثير من الفرص للعمل مع الأعداد الصحيحة وفهم المزيد حول هذا النوع من البيانات.
أعداد النقطة العائمة
A floating-point number or a float is a real number, meaning that it can be either a rational or an irrational number. Because of this, floating-point numbers can be numbers that can contain a fractional part, such as 9.0
or -116.42
. In general, for the purposes of thinking of a float
in a Python program, it is a number that contains a decimal point.
مثلما فعلنا مع العدد الصحيح، يمكننا طباعة العدد العائم كما يلي:
Output17.3
يمكننا أيضًا تعريف متغير يمثل العدد العائم، مثل هذا:
Output17.3
و، تمامًا مثل الأعداد الصحيحة، يمكننا القيام بعمليات حسابية مع الأعداد العائمة في Python أيضًا:
Output929.24
مع الأعداد الصحيحة وأعداد النقطة العائمة، من المهم أن نضع في اعتبارنا أن 3 ≠ 3.0، حيث يشير 3
إلى عدد صحيح بينما يشير 3.0
إلى عدد عائم.
المنطقيات
نوع البيانات الـمنطقية يمكن أن يكون أحد قيمتين، إما صحيح أو خطأ. تُستخدم المنطقيات لتمثيل القيم الحقيقية المرتبطة بفروع المنطق في الرياضيات، والتي تُعلم خوارزميات علوم الحاسوب.
كلما رأيت نوع البيانات بوليان، سيبدأ بحرف كبير لأنه مسمى على اسم عالم الرياضيات جورج بوول. القيم True
و False
ستكون أيضًا دائمًا بحروف كبيرة T و F على التوالي، لأنها قيم خاصة في لغة البرمجة بايثون.
العديد من العمليات في الرياضيات تعطينا إجابات تقيم إلى True أو False:
- أكبر من
- 500 > 100
True
- 1 > 5
False
- 500 > 100
- أصغر من
- 200 < 400
True
- 4 < 2
False
- 200 < 400
- متساوي
- 5 = 5
True
- 500 = 400
False
- 5 = 5
مثل الأرقام، يمكننا تخزين قيمة بوليانية في متغير:
ثم يمكننا طباعة القيمة البوليانية باستدعاء وظيفة print()
:
نظرًا لأن 5 ليست أكبر من 8، سنتلقى الناتج التالي:
OutputFalse
كلما كتبت المزيد من البرامج في لغة البرمجة بايثون، ستصبح أكثر فهمًا لكيفية عمل البوليانات وكيف يمكن للدوال والعمليات المختلفة التي تقيم إلى True أو False تغيير مسار البرنامج.
السلاسل
A string is a sequence of one or more characters (letters, numbers, symbols) that can be either a constant or a variable. Strings exist within either single quotes '
or double quotes "
in Python, so to create a string, enclose a sequence of characters in quotes:
يمكنك اختيار استخدام علامات اقتباس مفردة أو مزدوجة، ولكن مهما قررت يجب أن تظل ثابتاً داخل البرنامج.
البرنامج الأساسي “مرحباً، عالم!” يوضح كيف يمكن استخدام السلسلة في برمجة الحاسوب، حيث أن الأحرف التي تشكل العبارة مرحباً، عالم!
هي سلسلة.
كما هو الحال مع أنواع البيانات الأخرى، يمكننا تخزين السلاسل في متغيرات:
وطباعة السلسلة عن طريق استدعاء المتغير:
OuputHello, World!
مثل الأرقام، هناك العديد من العمليات التي يمكننا تنفيذها على السلاسل داخل برامجنا لتلاعب بها من أجل تحقيق النتائج التي نسعى إليها. السلاسل مهمة لتبادل المعلومات مع المستخدم، وللمستخدم لتبادل المعلومات مع البرنامج.
القوائم
A list is a mutable, or changeable, ordered sequence of elements. Each element or value that is inside of a list is called an item. Just as strings are defined as characters between quotes, lists are defined by having values between square brackets [ ]
.
A list of integers looks like this:
A list of floats looks like this:
A list of strings:
إذا قمنا بتعريف قائمة السلاسل الخاصة بنا كـمخلوقات البحر
:
يمكننا طباعتها عن طريق استدعاء المتغير:
والناتج يبدو بالضبط كما القائمة التي أنشأناها:
Output['shark', 'cuttlefish', 'squid', 'mantis shrimp']
القوائم هي نوع بيانات مرن جداً لأنها قابلة للتعديل، حيث يمكن إضافة القيم وإزالتها وتغييرها. هناك نوع بيانات مشابه للقوائم لكنه لا يمكن تغييره، ويُسمى ذلك بالتصفيف.
التصفيفات
A tuple is used for grouping data. It is an immutable, or unchangeable, ordered sequence of elements.
التصفيفات مشابهة جداً للقوائم، ولكنها تستخدم القوسين ( )
بدلاً من الأقواس المربعة ولأنها لا يمكن تعديلها، لا يمكن تعديل قيمها.
A tuple looks like this:
يمكننا تخزين التصفيف في متغير وطباعته:
Output('blue coral', 'staghorn coral', 'pillar coral')
مثلما في الأنواع الأخرى من البيانات، تقوم Python بطباعة التصفيف كما لو كنا كتبناه، بقوسين يحتويان على سلسلة من القيم.
القواميس
القاموس هو نوع بيانات الرسم البياني المضمن في Python. يعني هذا أن القواميس يختصون بتعيين المفاتيح إلى القيم وهذه الأزواج مفيدة لتخزين البيانات في Python. يتم بناء القاموس بأقواس متعرجة على كلا الجانبين { }
.
عادة ما يُستخدم لاحتواء البيانات ذات الصلة، مثل المعلومات الواردة في معرف، يبدو القاموس هكذا:
ستلاحظ أنه بالإضافة إلى الأقواس المنحنية، هناك أيضًا نقاط تناثرت في جميع أنحاء القاموس. الكلمات على يسار النقاط هي المفاتيح. يمكن أن تتكون المفاتيح من أي نوع بيانات لا تتغير. المفاتيح في القاموس أعلاه هي: 'name'، 'animal'، 'color'، 'location'
.
الكلمات على يمين النقاط هي القيم. يمكن أن تتألف القيم من أي نوع بيانات. القيم في القاموس أعلاه هي: 'Sammy'، 'shark'، 'blue'، 'ocean'
.
مثل الأنواع الأخرى من البيانات، دعونا نخزن القاموس داخل متغير، ونقوم بطباعته:
Output{'color': 'blue', 'animal': 'shark', 'name': 'Sammy', 'location': 'ocean'}
إذا أردنا عزل لون سامي، يمكننا فعل ذلك عن طريق استدعاء sammy['color']
. دعونا نقوم بطباعة ذلك:
Outputblue
بما أن القواميس تقدم أزواجًا من المفتاح والقيمة لتخزين البيانات، يمكن أن تكون عناصر مهمة في برنامجك بالبايثون.
الاستنتاج
في هذه النقطة، يجب أن تكون لديك فهم أفضل لبعض أنواع البيانات الرئيسية المتاحة لك لاستخدامها في البايثون. ستصبح كل هذه الأنواع من البيانات مهمة أثناء تطوير مشاريع البرمجة في لغة البايثون.
يمكنك التعرف على كل من أنواع البيانات أعلاه بمزيد من التفصيل من خلال قراءة الدروس الخاصة التالية:
بمجرد أن تكتسب فهمًا قويًا لأنواع البيانات المتاحة لك في Python، يمكنك تعلم كيفية تحويل أنواع البيانات.
Source:
https://www.digitalocean.com/community/tutorials/understanding-data-types-in-python-3