مكافئات بايثون لـ PHP's Compact() و extract()
في PHP، وظائف Compact() و extract() تخدم أغراض عملية لإنشاء جداول التجزئة وتحديث المتغيرات المحلية، على التوالي. تقدم بايثون وظائف مماثلة، على الرغم من أنها تلتزم بمبادئ متميزة.
تنفيذ بايثون لـ Compact()
على الرغم من أنه لا يوصى به بشكل صارم في Python، إلا أنه يمكن للمرء تنفيذ Compact() -مثل الوظيفة على النحو التالي:
import inspect
def compact(*names):
caller = inspect.stack()[1][0]
vars = {}
for n in names:
if n in caller.f_locals:
vars[n] = caller.f_locals[n]
elif n in caller.f_globals:
vars[n] = caller.f_globals[n]
return vars
تستكشف هذه الوظيفة المتغيرات المحلية والعالمية للمتصل لإنشاء قاموس بقيم متغيرة محددة.
نهج بايثون لاستخراج الوظيفة
سابقًا ، كان من الممكن تنفيذ مكافئ Python لـ extract()، لكن هذه الطريقة لم تعد مدعومة. يعكس هذا تفضيل بايثون لتعيين المتغيرات الصريحة بدلاً من تحديث المتغيرات المحلية ديناميكيًا.المناهج البديلة
إذا استمرت الحاجة إلى الوظائف المضغوطة () أو المشتقة () فكر فيما إذا كان منهجك يتوافق مع مبادئ بايثون للوضوح والصراحة. قد تكون البدائل مثل الوصول إلى المتغيرات مباشرة أو استخدام هياكل البيانات مثل القواميس أكثر ملاءمة في بايثون.تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3