الفرق بين المراجعتين لصفحة: «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/locals|الدالة locals() في بايثون]] | * [[Python/locals|الدالة locals() في بايثون.]] | ||
* [[Python/types/MappingProxyType|types.MappingProxyType]] | * [[Python/types/MappingProxyType|types.MappingProxyType]]. | ||
* [[Python/dict|القواميس في بايثون]]. | * [[Python/dict|القواميس في بايثون]]. | ||
مراجعة 18:00، 21 مايو 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})