الفرق بين المراجعتين لصفحة: «Python/vars»
إضافة الصّفحة |
لا ملخص تعديل |
||
| (مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
| سطر 2: | سطر 2: | ||
تعيد الدّالة <code>vars()</code> قيمة الخاصيّة <code>__dict__</code> الخاصّة بوحدة، أو صنف، أو نُسخة، أو أيّ كائن يمتلك خاصيّةً باسم <code>__dict__</code>. | تعيد الدّالة <code>vars()</code> قيمة الخاصيّة <code>__dict__</code> الخاصّة بوحدة، أو صنف، أو نُسخة، أو أيّ كائن يمتلك خاصيّةً باسم <code>__dict__</code>. | ||
تملك الكائنات مثل الوحدات والنّسخ خاصيّة <code>__dict__</code> يُمكن تحديثها، لكنّ كائنات أخرى قد تفرض قيودًا على خاصيّة <code>__dict__</code> الخاصّة بها (فمثلا، يُمكن للأصناف استعمال النّوع <code>types.MappingProxyType</code> لمنع تحديث القاموس مُباشرةً). | تملك الكائنات مثل الوحدات والنّسخ خاصيّة <code>__dict__</code> يُمكن تحديثها، لكنّ كائنات أخرى قد تفرض قيودًا على خاصيّة <code>__dict__</code> الخاصّة بها (فمثلا، يُمكن للأصناف استعمال النّوع <code>[[Python/types/MappingProxyType|types.MappingProxyType]]</code> لمنع تحديث القاموس مُباشرةً). | ||
== البنية العامة == | == البنية العامة == | ||
| سطر 12: | سطر 12: | ||
=== <code>object</code> === | === <code>object</code> === | ||
مُعامل اختياريّ يُمثّل الكائن المرغوب الحصول على قيمة الخاصيّة <code>__dict__</code> الخاصّة به. | مُعامل اختياريّ يُمثّل الكائن المرغوب الحصول على قيمة الخاصيّة <code>__dict__</code> الخاصّة به. | ||
== القيمة المعادة == | == القيمة المعادة == | ||
قيمة الخاصيّة <code>__dict__</code> الخاصّة بالكائن، وتُمثّل قيمته | قيمة الخاصيّة <code>__dict__</code> الخاصّة بالكائن، وتُمثّل قيمته قاموسًا يحتوي على خاصيّات الكائن القابلة للكتابة (أي تلك التي تقبل إسناد قيمة لها). | ||
إن لم تُمرّر للدّالة أيّة مُعاملات، فاستدعاؤها مُشابه لاستدعاء الدّالة <code>locals()</code>. لكن لاحظ أنّ قاموس المتغيّرات المحليّة <code>locals()</code> مُفيد للقراءة فقط لأنّ مُحاولات تحديثه تُتَجاهَل. | إن لم تُمرّر للدّالة أيّة مُعاملات، فاستدعاؤها مُشابه لاستدعاء الدّالة <code>[[Python/locals|locals()]]</code>. لكن لاحظ أنّ قاموس المتغيّرات المحليّة <code>locals()</code> مُفيد للقراءة فقط لأنّ مُحاولات تحديثه تُتَجاهَل. | ||
== أمثلة == | == أمثلة == | ||
| سطر 32: | سطر 30: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* [[Python/dict|القواميس في بايثون]]. | * [[Python/dict|القواميس في بايثون]]. | ||
* [[Python/types/MappingProxyType|types.MappingProxyType]]. | |||
* الدالة <code>[[Python/locals|locals()]]</code>: تحدث قاموسًا يُمثّل جدول الرموز المحليّ وتُعيده. | |||
== مصادر == | == مصادر == | ||
المراجعة الحالية بتاريخ 07:59، 11 يونيو 2018
تعيد الدّالة vars() قيمة الخاصيّة __dict__ الخاصّة بوحدة، أو صنف، أو نُسخة، أو أيّ كائن يمتلك خاصيّةً باسم __dict__.
تملك الكائنات مثل الوحدات والنّسخ خاصيّة __dict__ يُمكن تحديثها، لكنّ كائنات أخرى قد تفرض قيودًا على خاصيّة __dict__ الخاصّة بها (فمثلا، يُمكن للأصناف استعمال النّوع types.MappingProxyType لمنع تحديث القاموس مُباشرةً).
البنية العامة
vars([object])
المعاملات
object
مُعامل اختياريّ يُمثّل الكائن المرغوب الحصول على قيمة الخاصيّة __dict__ الخاصّة به.
القيمة المعادة
قيمة الخاصيّة __dict__ الخاصّة بالكائن، وتُمثّل قيمته قاموسًا يحتوي على خاصيّات الكائن القابلة للكتابة (أي تلك التي تقبل إسناد قيمة لها).
إن لم تُمرّر للدّالة أيّة مُعاملات، فاستدعاؤها مُشابه لاستدعاء الدّالة locals(). لكن لاحظ أنّ قاموس المتغيّرات المحليّة locals() مُفيد للقراءة فقط لأنّ مُحاولات تحديثه تُتَجاهَل.
أمثلة
المثال التّالي يوضّح كيفيّة عمل هذه الدّالة:
>>> class A:
... x = 1
...
...
>>> vars(A)
mappingproxy({'__module__': '__console__', 'x': 1, '__dict__': <attribute '__dict__' of 'A' obj
ects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': None})
انظر أيضًا
- القواميس في بايثون.
- types.MappingProxyType.
- الدالة
locals(): تحدث قاموسًا يُمثّل جدول الرموز المحليّ وتُعيده.