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

من موسوعة حسوب
مراجعة 12:57، 10 يونيو 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

انظر أيضًا

مصادر