تفريغ الوسيطات في python مع و (مزدوج النجمة/النجمة) *
في python ،] و * يلعب المشغلون أدوارًا حاسمة في تفريغ الحجج عند الاتصال وظائف. على سبيل المثال ، ضع في اعتبارك الوظيفة:
def add (a ، b): إرجاع A B يستخدم الكود أدناه * لفك قيم tuple:
القيم = (1 ، 2)
s = إضافة (*قيم)
def add(a, b): return a b
s = add (1 ، 2)
values = (1, 2) s = add(*values)
يقوم النجم المزدوج (**) بإجراء عملية مماثلة للقواميس ، مما يوفر قيمًا للوسائط المسماة. النظر في الوظيفة:
s = add(1, 2)
تفريغ قيم القاموس 2 باستخدام ** يعطي ما يلي:
s = add (** date2)
هذا يعادل:
def sum(a, b, c, d): return a b c dمجموعة من
و
: نفس دعوة الوظيفة. على سبيل المثال:values = (1, 2) s = add(*values)القيم 1 = (1 ، 2) القيم 2 = {'c': 10 ، 'd': 15} s = إضافة (*القيم 1 ، ** القيم 2)
هذا يعادل:
values = (1, 2) s = add(*values)
معلمة تفريغ: بالإضافة إلى تفريغ الوسائط ، يمكن أيضًا استخدام و * للمعلمة تفريغ في تعريفات الوظائف. &&&]
على سبيل المثال:
# ...
def get_a (** القيم):
# ...
values = (1, 2) s = add(*values)الآثار المترتبة على الأداء:
الأداء المترتبة على استخدام
s = sum(1, 2, c=10, d=15)* الحد الأدنى عمومًا. تتضمن عملية التفريغ الحد الأدنى من النفقات العامة ولا تؤثر على كفاءة الوظيفة نفسها. ومع ذلك ، فإن التفريغ المفرط يمكن أن يجعل التعليمات البرمجية أقل قابلية للقراءة وقابل للصيانة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3