الأعداد المركبة في بايثون

من موسوعة حسوب
مراجعة 18:55، 27 أبريل 2018 بواسطة عبد-الهادي-الديوري (نقاش | مساهمات) (إضافة الدّالة complex)

تتكوّن الأعداد المركبّة من جزأين حقيقي وتخيّلي وكلاهما من الأعداد العشرية ذات الفاصلة العائمة float. ولاستخراج هذين الجزئين من عدد تخيلي z، فيمكن استخدام الخاصيتين z.real و z.imag.

يستخدم الحرفان 'j' أو 'J' للتعبير عن الأعداد المركبة كما هو موضح في الأمثلة التالية:

>>>w = 3j  #عدد مركّب الجزء الحقيقي فيه يساوي 0
>>>x = 2+5J
>>>y = -3-9j
>>>z = 3.1 + 4.5J
>>>z.real
3.1
>>> z.imag
4.5

الدّالة complex()

تعيد الدّالة complex()‎ عددًا مُركّبًا (complex number) حسب العدد الحقيقي والعدد الخياليّ المُعطيين، أو تُحوّل سلسلةً نصيّةً أو عددًا إلى عدد مركّب.

البنية العامة

complex([real[, imag]])

المعاملات

real

مُعامل اختياريّ يُمثّل العدد الحقيقيّ، يُمكن أن تكون قيمته أيّة قيمةٍ عدديّة (ما يشمل الأعداد المركّبة).

و يُمكن أن تكون قيمته سلسلةً نصيّة لتفسيرها إلى عدد مركّب. إن كانت قيمة هذا المُعامل سلسلةً نصيّة، فيجب استدعاء الدّالة دون مُعاملٍ ثانٍ.

imag

مُعامل اختياريّ يُمثّل العدد الخياليّ، يُمكن أن تكون قيمته أيّة قيمةٍ عدديّة (ما يشمل الأعداد المركّبة). إن لم تُمرّر قيمة لهذا المُعامل، فقيمته الافتراضيّة هي صفر. على عكس المُعامل real، لا يُمكن لقيمة هذا المُعامل أن تكون سلسلةً نصيّة.

القيمة المعادة

عدد مركّب. تعيد الدالة القيمة 0j في حال عدم وجود أية معاملات.

الاستثناءات

  • يجب أن لا تحتوي السلاسل النصية على مسافات بيضاء بين العاملين + أو - عند التحويل باستخدام الدالة complex()‎، فمثلًا التعبير complex('1+2j')‎ يعد صحيحًا، أما التعبير complex('1 + 2j')‎ فيطلق الخطأ ValueError. انظر الأمثلة أدناه.

أمثلة

المثال التّالي يوضّح كيفيّة عمل هذه الدّالة:

>>> complex() # استدعاء الدّالة دون مُعاملات
0j
>>> complex(1, 4) # استدعاء الدّالة بكلا المُعاملين
(1+4j)
>>> complex('3+5j') # استدعاء الدّالة بتمرير سلسلة نصيّة إلى المُعامل الأول
(3+5j)
>>> complex('3+ 5j') # خطأ، انظر الاستثناءات
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: complex() arg is a malformed string

ملاحظات

  • يُمكن استعمال الدّالة complex()‎ لتحويل الأعداد إلى أعداد مركّبة كما تُستعمل الدّوال int()‎ و float()‎.

انظر أيضًا

مصادر