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

الصفحات

   شاركنا بعملوماتك

#عائله بايثون

مفهوم الأعداد

في هذا الدرس ستتعرف على أنواع الأعداد و الدوال الجاهزة في بايثون للتعامل معها.


معلومة تقنية

المتغيرات العددية في بايثون تعتبر كلها Immutable, و هذا يعني أنك عندما تقوم بتعريف أي متغير و تعطيه قيمة عددية فإن هذه القيمة يحجز لها مكان في الذاكرة.
لكن إذا قمت بإعطاء قيمة جديدة لهذا المتغير فإنه سيتم حذف القيمة القديمة من الذاكرة و إنشاء مكان جديد في الذاكرة و وضع القيمة الجديدة فيه لأنه لا يمكن تعديل نفس القيمة في نفس المكان في الذاكرة.

أنواع الأعداد

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

int
. و إذا وضعت فيه عدد عشري ( أي يحتوي على فاصلة ),, يصبح نوعه 
float
 و هكذا.


أنواع الأعداد في بايثون تنقسم إلى 3 أنواع كما في الجدول التالي.

النوعإستخدامهمثال
int
يستخدم لتخزين أعداد صحيحة.
x = 3
float
يستخدم لتخزين أعداد تحتوي على فاصلة عشرية.
x = 1.5
complex
يستخدم لتخزين أعداد مركبة (Complex Number) و التي غالباً ما يحتاجها المهندسون عند إجراء عمليات حاسبية معقدة.
ملاحظة: هنا يجب وضع الحرف 
J
 أو 
j
 مباشرةً بعد العدد حتى يعرف مفسّر بايثون أنك تقصد عدد مركب و ليس عدد عادي.
x = 4J

في المثال التالي قمنا بتعريف ثلاث متغيرات و كل متغير وضعنا فيه قيمة عددية مختلفة في النوع و القيمة. بعدها قمنا بعرض نوع كل متغير منهم.

مثال

Test.py
x = 3 # قيمته عبارة عن عدد صحيح ,x هنا قمنا بتعريف متغير إسمه
y = 1.5 # قيمته عبارة عن عدد عشري ,y هنا قمنا بتعريف متغير إسمه
z = 4J # قيمته عبارة عن عدد مركب ,z هنا قمنا بتعريف متغير إسمه
print(type(x)) # x هنا طبعنا نوع قيمة المتغير
print(type(y)) # y هنا طبعنا نوع قيمة المتغير
print(type(z)) # z هنا طبعنا نوع قيمة المتغير

سنحصل على النتيجة التالية عند التشغيل.

<class 'int'>
<class 'float'>
<class 'complex'>

عرض الأعداد الصحيحة بأشكال مختلفة

في بايثون يمكنك حفظ أعداد صحيحة بشكل Hexa-Decimal و بشكل Octal.
ملاحظة: لست مضطراً أن تفهم الكود التالي لأن عرض الأعداد بأشكال مختلفة تتعلمه في مادة تسمى عمارة الحاسب و في مادة الشبكات.

مثال

Test.py
a = 0xA03 # Hexa-decimal قيمته عبارة عن عدد صحيح لكننا كتبناها كـ ,a هنا قمنا بتعريف متغير إسمه
b = 0o42 # Octal قيمته عبارة عن عدد صحيح لكننا كتبناها كـ ,b هنا قمنا بتعريف متغير إسمه
print('a =', a) # a هنا قمنا بطباعة قيمة المتغير
print('b =', b) # b هنا قمنا بطباعة قيمة المتغير
print('type of a is:', type(a)) # a هنا قمنا بطباعة نوع قيمة المتغير
print('type of b is:', type(b)) # b هنا قمنا بطباعة نوع قيمة المتغير

سنحصل على النتيجة التالية عند التشغيل.

a = 2563
b = 34
type of a is: <class 'int'>
type of b is: <class 'int'>

نلاحظ أنه عند طباعة قيم المتغيرين 

a
 و 
b
 فإنها عرضت كأعداد صحيحة عادية و مفهومة.

و نلاحظ أيضاً أنه تم إعتبار قيم المتغيرين 

a
 و 
b
 هو أعداد صحيحة 
int
.

دوال تحويل أنواع الأعداد الموجودة

الجدول التالي يحتوي على دوال جاهزة في بايثون تستخدم لتحويل أنواع الأعداد و لتحديد أنواع الأعداد التي نريد تخزينها بداخل المتغيرات.

الدالة مع تعريفها
1
int( x )
ترجع قيمة العدد الذي نمرره لها مكان المتغير 
x
 كعدد صحيح نوعه 
int
.

تابع القراءة »
2
int( x, base )
ترجع قيمة النص الذي نمرره لها مكان المتغير 
x
 كعدد صحيح نوعه 
int
.

مكان المتغير 
base
 نمرر عدد يمثل الطريقة التي نريد بها تحويل قيمة المتغير 
x
.

تابع القراءة »
3
float( x )
ترجع قيمة المتغير الذي نمرره لها مكان المتغير 
x
 كعدد عشري (أي يحتوي على فاصلة) نوعه 
float
.

تابع القراءة »
4
complex( real, imag )
ترجع قيمة المتغير 
real
 و المتغير 
imag
 كعدد مركب (Complex Number).
العدد المركب بطبيعته يحتوي على قيمتين:
- الأولى هي قيمة المتغير 
real
 كالقيمة الحقيقية (Real Part).
- الثانية هي قيمة المتغير 
imag
 كقيمة الخيالية (Imaginary Part).
ملاحظة: في حال قمت بتمرير قيمة واحدة لها, فإنك هنا فعلياً تدخل القيمة الحقيقية للعدد المركب, و القيمة الوهمية تعتبر 0.

تعريفها

هذه الدالة موجودة جاهزة في بايثون, و هي ترجع قيمة المتغير 

real
 و المتغير 
imag
 كعدد مركب (Complex Number).
العدد المركب بطبيعته يحتوي على قيمتين:
- الأولى هي قيمة المتغير 
real
 كالقيمة الحقيقية (Real Part).
- الثانية هي قيمة المتغير 
imag
 كقيمة الخيالية (Imaginary Part).

ملاحظة: في حال قمت بتمرير قيمة واحدة لها, فإنك هنا فعلياً تدخل القيمة الحقيقية للعدد المركب, و القيمة الوهمية تعتبر 0.


بناؤها

class complex([real[, imag]])

باراميترات

  • real
     عبارة عن عدد يمثل عدد صحيح أو بفاصلة عشرية.
  • imag
     عبارة عن عدد يمثل عدد صحيح أو بفاصلة عشرية.

ملاحظة: بدل وضع قيمتين منفصلتين, يمكنك تمرير نص يمثل قيمة المتغير 

real
 و المتغير 
imag
 بشرط أن لا يحتوي على أي رمز أو مسافة فارغة.
مثال: 
complex('1+2j')
.


قيمة الإرجاع

ترجع قيمة المتغير 

real
 و المتغير 
imag
 كعدد مركب (Complex Number).


مثال

Test.py
x = complex(1, 2) # x و وضعنا العدد المركب الذي أرجعته بناءاً على هذين العددين في المتغير imag و 2 مكان الباراميتر real مع إعطائها 1 مكان الباراميتر complex هنا قمنا باستدعاء الدالة
print('x =', x) # و التي تمثل عدد مركب x هنا قمنا بعرض قيمة المتغير

سنحصل على النتيجة التالية عند التشغيل.

x = (1+2j)

تعليقات