• 0

ما وظيفة العامل الحسابي * في بايثون ؟

ما هي وظيفة العامل الحسابي نجمة "*" في بايثون، حيث أجد في شيفرات بايثون تعليمات مثل هذه:

 up(*x)

وهذه:

 a(**n)

فما معناها ؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

العامل الحسابي نجمة واحدة * تُستخدم لفك حزمة مجموعة من القيم أو المتغيرات لتمريرها إلى دالة معينة كما في هذا المثال:

def sum(a, b):
    return a + b

values = (1, 2)

s = sum(*values)

ستجد أن النجمة قامت بفك الحزمة من نوع tuple وقامت بتمريرها إلى دالة sum ، أي أننا يمكننا تعويض السطر الأخير بهذا السطر:

s = sum(1, 2)

أما العامل الحسابي النجمتين فهي تقوم بنفس الوظيفة لكنها تُستخدم فقط من أجل القاموس كما في هذا المثال:

values = { 'a': 1, 'b': 2 }
s = sum(**values)

ويمكنك أيضا دمج العاملين الحسابيين لتمريرهم إلى دالة معينة كما في هذا المثال:

def sum(a, b, c, d):
    return a + b + c + d

values1 = (1, 2)
values2 = { 'c': 10, 'd': 15 }
s = sum(*values1, **values2)

والذي لديه نفس وظيفة السطر التالي:

s = sum(1, 2, c=10, d=15)

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن