Data Types in Python
Data Types in Python
type().
تذكر :نوع المتغير في بايثون
غير ثابت ألنه يتغير بشكل تلقائي على حسب نوع القيمة التي يتم تخزينها فيه
var = 10
))print(type(var
'var = 'harmash
))print(type(var
.سنحصل على النتيجة التالية عند التشغيل
>'<class 'int
>'<class 'str
Numeric Types
األرقام
مفسر لغة بايثون سيقوم بشكل تلقائي بتحديد
عند تعريف متغير و تخزين رقم فيه ,فإن ّ
.نوع هذا المتغير بناءا ً على نوع القيمة الرقمية التي تم إسنادها إليه
فإذا وضعت فيه عدد صحيح ,يصبح نوعه
.أنواع األرقام في بايثون تنقسم إلى 3أنواع كما في الجدول التالي
مثال استخدامه النوع
x=3 يستخدم لتخزين أعدادـ int
.صحيحة
x = 1.5 floatيستخدم لتخزين أعداد تحتوي
.على فاصلة عشرية
x = 4j complexيستخدم لتخزين أعداد مركبة
و التي )(Complex Number
غالبا ً ما يحتاجها المهندسـون
عند إجراء عمليات حاسبية
.معقدة
مالحظة :هنا يجب وضع
مباشر ًة بعد العدد jأو Jالحرف
مفسر بايثون أنك
حتى يعرف ّ
تقصد عدد مركب و ليس عدد
.عادي
دوال تحويل أنواع األعداد الموجودة
)int( x
ترجع قيمة العدد الذي نمرره لها مكان المتغير كعدد صحيح
)float( x
ترجع قيمة المتغير الذي نمرره لها مكان المتغير كعدد عشري (أي يحتوي على فاصلة)
) complex( real, imag
(Complex Number).ترجع قيمة المتغير الحقيقي والمتغير الخيالي كعدد مركب
:العدد المركب بطبيعته يحتوي على قيمتين
(Real Part).األولى هي قيمة المتغير الحقيقي
(Imaginary Part).الثانية هي قيمة المتغير الخيالية
مالحظة :في حال قمت بتمرير قيمة واحدة لها ,فإنك هنا فعليا ً تدخل القيمة الحقيقية
.للعدد المركب ,و القيمة الوهمية تعتبر 0
مفهوم النصوص
سواء كان يتألف من حرف واحد ,كلمة ,جملة أو " "Stringفي عالم البرمجة ,نقول للنص
.نص كبير جدا ً
و من هذا المنطلق نستنتج أن النص عبارة عن سلسلة من األحرف ليس لها حجم
محدد.في المثال التالي قمنا بتعريف ثالث متغيرات تحتوي على قيم نصية .الحظنا أننا
.قمنا بتعريف كل متغيير بواسطة رمز مختلف
هنا قــمنا بــــتعـريـفثــــالثمتغيرـاـتتــــحتويعلىقــيمـ نــصية #
'name = 'Mhamad
"job = "Programmer
'''message = '''This string that will span across .
هنا قــمنا بــــعـرضقــيمـ اــلمتغيرـاـتاــلنصية بـــأسلوبمـرتـب#
)print('Name: ', name
)print('Job: ', job
)print('Message: ', message
طرق دمج النصوص
:في بايثون بطريقتين Concatenationيمكنك تطبيق الـ
+بإستخدام العامل
.التي تعطيك طرق متقدمة أكثر لدمج النصوص )( joinأو باستخدام الدالة
الدمج التلقائي للنصوص
في حال وضعت قيمتين نصيّتين بجانب بعضهما و وضعت بينهما مسافة فارغة ( أو عدة
مسافات فارغة ) فإن مترجم بايثون سيقوم بدمجهمها لك بشكل تلقائي
's = 'Mhamad' ' ail
)print(s
.سنحصل على النتيجة التالية عند التشغيل
Mhamad ali
listمفهوم الكالس
عبارة عن مصفوفة ليس لها حجم ثابت ,يمكنها تخزين قيم من مختلف األنواع في وقت
.واحد و يمكنك تبديل قيمها متى شئت
لتعريف القوئم نستخدم الرمز [ ].بداخل هذا الرمز يمكنك تمرير القيم بشكل مباشر له
بشرط وضع فاصلة بين كل عنصرين .و يمكنك تحديد نوع و عدد العناصر التي تريد وضعها
فيه فقط
]numbers = [10, 20, 30, 40, 50
)print(numbers
]'names = ['Rami', 'Sara', 'Nada
)print(names
.سنحصل على النتيجة التالية عند التشغيل
][10, 20, 30, 40, 50
]'['Rami', 'Sara', 'Nada
tupleمفهوم الكالس
عبارة عن مصفوفة لها حجم ثابت ,يمكنها تخزين قيم من مختلف األنواع في وقت واحد و
.ال يمكن تبديل قيمها
لتعريفها نستخدم الرمز ( ).بداخل هذا الرمز يمكنك تمرير القيم بشكل مباشر له بشرط
وضع فاصلة بين كل عنصرين .و يمكنك تحديد نوع و عدد العناصر التي تريد وضعها فيه
.فقط
)A = (10,
)print(A
إنتبه
وضع فاصلة بعد القيمة 10هنا يعتبر أمر إجباري حتى يفهم مترجم بايثون أنك تنوي تعريف
tuple
يحتوي على tupleكما أنه ال حاجة لوضع فاصلة إضافية كما فعلنا هنا في حال كان الـ
أكثر من قيمة
numbers = (10, 20, 30, 40, 50)
print(numbers)
names = ('Rami', 'Sara', 'Nada')
print(names)
name = ('Rami', 'Sara', 'Nada', 'Mhamad', 'Salem')
print(name[0])
print(name[1])
سنحصل على النتيجة التالية عند التشغيل.
(10, 20, 30, 40, 50)
('Rami', 'Sara', 'Nada')
Rami
Sara
dictمفهوم الكالس
.و التي تعني قاموس أو معجم dictionaryفي البداية ,الكلمة هي إختصار لكلمة
و الثاني يحتوي ) ( Keysوهو عبارة عن جدول يتألف من عامودين ,األول يحتوي المفاتيح
.الخاصة بكل عنصر ) ( Valuesالقيم
و الثانية تمثل ) ( Keyكل عنصر يتم إضافته يجب إعطاؤه قيمتين .األولى تمثل المفتاح
( Value ).قيمته
المفاتيح تستخدم للوصول إلى القيم ,لهذا ال يمكن وجود عنصرين في الـقواميس
موضوع يسمح لك بالوصول لقيمة واحدة من القيم Keyعندهم نفس المفتاح .إذا ً ,كل
الموجودة في القواميس .لتعريف القواميس نستخدم الرمز { } .بداخل هذا الرمز يمكنك
تمرير العناصر بشكل مباشر له بشرط وضع فاصلة بين كل عنصرين .ال تنسى أن كل عنصر
يجب أن يملك قيمتين ,األولى تمثل المفتاح و الثانية تمثل القيمة .بين كل مفتاح و قيمة
: .نضع الرمز
data = {
1: 'Admin',
2: 'Editor',
3: 'Reader'
}
print(data)
{1: 'Admin', 2: 'Editor', 3: 'Reader'}
setمفهوم الكالس
عبارة عن مصفوفة ليس لها حجم ثابت ,يمكنها تخزين قيم من مختلف األنواع في وقت
واحد ,و ال يمكن تبديل أو حذف قيمها بشكل مباشر.كما أنه ال يمكنها أن تحتوي على قيم
مكررة .أي إذا وضعت فيها نفس القيمة مرتين فإنه سيتم تخزين قيمة واحدة فيها و ليس
قيمتين.كما ان الست ال يحافظ على الترتيب الذي تم فيه إدخال العناصر ألنه ال يضيف رقم
لكل عنصر كما يفعل النوع Index