الدالة locals()‎ في بايثون

من موسوعة حسوب
مراجعة 18:10، 6 مايو 2018 بواسطة عبد-الهادي-الديوري (نقاش | مساهمات) (إضافة الصّفحة)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)


تُحدّث الدّالة locals()‎ قاموسًا يُمثّل جدول الرموز المحليّ (local symbol table) وتُعيده.

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

locals()

المعاملات

لا توجد مُعاملات.

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

قاموس يُمثّل المتغيّرات المحليّة.

ملاحظات

  • تُعاد المُتغيّرات الحرّة (free variables) من طرف الدّالة عند استدعائها داخل الدّوال وليس داخل الأصناف.
  • لا يجب تعديل مُحتويات القاموس المُعاد، إذ أنّ التّعديلات قد لا تُؤثّر على المتغيّرات المحليّة والحرّة المُستخدمة من طرف المُفسّر.

أمثلة

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

>>> y = 1 # هذا المتغيّر لن يكون محليّا نسبة إلى الدّالة
>>> def add(a, b):
...     print(locals()) # طباعة قاموس المتغيّرات المحليّة
...     return a + b
... 
>>> add(1, 2) # القاموس المطبوع هو قاموس المتغيّرات المحليّة
{'b': 2, 'a': 1}
3

انظر أيضًا

مصادر