الفرق بين المراجعتين لصفحة: «Python/copyreg»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الوحدة <code>copyreg</code> في بايثون}}</noinclude> تقدّم وحدة copyreg طريقة لتعريف دوال تستخدم...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الوحدة <code>copyreg</code> في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:الوحدة <code>copyreg</code> في بايثون}}</noinclude> | ||
تقدّم وحدة copyreg طريقة لتعريف دوال تستخدم أثناء سلسلة كائنات معيّنة في بايثون. تستخدم وحدتا pickle و copy هذه الدوال عند سلسلة أو نسخ تلك الكائنات. تقدّم الوحدة كذلك معلومات إعدادات حول الدوال البانية للكائنات التي ليست أصنافًا. يمكن لهذه الدوال البانية أن تكون دوال منشئة للكائنات factory functions أو نسخًا للأصناف. | تقدّم وحدة <code>copyreg</code> طريقة لتعريف دوال تستخدم أثناء سلسلة كائنات معيّنة في بايثون. تستخدم وحدتا <code>[[Python/pickle|pickle]]</code> و [[Python/copy|<code>copy</code>]] هذه الدوال عند سلسلة أو نسخ تلك الكائنات. تقدّم الوحدة كذلك معلومات إعدادات حول الدوال البانية للكائنات التي ليست أصنافًا. يمكن لهذه الدوال البانية أن تكون دوال منشئة للكائنات factory functions أو نسخًا للأصناف. | ||
== | == دوال الوحدة copyreg == | ||
تقدّم الوحدة <code>copyreg</code> الدوال التالية: | |||
=== الدالة [[Python/copyreg/constructor|<code>copyreg.constructor()</code>]] === | |||
تصرّح هذه الدالة عن كون الكائن المعطى دالة بانية صحيحة. إن كان الكائن المعطى غير قابل للاستدعاء (وهكذا يكون غير صالح لأن يصبح دالة بانية) فإنّ الدالة تطلق الاستثناء <code>TypeError</code>. | |||
=== الدالة <code>[[Python/copyreg/pickle|copyreg.pickle()]]</code> === | |||
تصرّح الدالة عن وجوب استخدام الدالة المعطاة كدالة اختزال reduction function للكائنات من النوع المعطى. | |||
== مثال == | == مثال == | ||
يعرض المثال التالي طريقة تسجيل دالة | يعرض المثال التالي طريقة تسجيل دالة سَلسَلة وكيفية استخدامها: | ||
<syntaxhighlight lang="python3"> | <syntaxhighlight lang="python3"> | ||
سطر 38: | سطر 37: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* الوحدة pickle في بايثون. | * [[Python/pickle|الوحدة pickle في بايثون.]] | ||
* الوحدة marshal في بايثون. | * [[Python/list|الوحدة marshal في بايثون.]] | ||
* الوحدة shelve في بايثون. | * [[Python/shelve|الوحدة shelve في بايثون.]] | ||
== مصادر == | == مصادر == | ||
[https://docs.python.org/3/library/array.html#array.append صفحة Efficient arrays of numeric values في توثيق بايثون الرسمي.] | [https://docs.python.org/3/library/array.html#array.append صفحة Efficient arrays of numeric values في توثيق بايثون الرسمي.] |
المراجعة الحالية بتاريخ 20:47، 15 سبتمبر 2018
تقدّم وحدة copyreg
طريقة لتعريف دوال تستخدم أثناء سلسلة كائنات معيّنة في بايثون. تستخدم وحدتا pickle
و copy
هذه الدوال عند سلسلة أو نسخ تلك الكائنات. تقدّم الوحدة كذلك معلومات إعدادات حول الدوال البانية للكائنات التي ليست أصنافًا. يمكن لهذه الدوال البانية أن تكون دوال منشئة للكائنات factory functions أو نسخًا للأصناف.
دوال الوحدة copyreg
تقدّم الوحدة copyreg
الدوال التالية:
الدالة copyreg.constructor()
تصرّح هذه الدالة عن كون الكائن المعطى دالة بانية صحيحة. إن كان الكائن المعطى غير قابل للاستدعاء (وهكذا يكون غير صالح لأن يصبح دالة بانية) فإنّ الدالة تطلق الاستثناء TypeError
.
الدالة copyreg.pickle()
تصرّح الدالة عن وجوب استخدام الدالة المعطاة كدالة اختزال reduction function للكائنات من النوع المعطى.
مثال
يعرض المثال التالي طريقة تسجيل دالة سَلسَلة وكيفية استخدامها:
>>> import copyreg, copy, pickle
>>> class C(object):
... def __init__(self, a):
... self.a = a
...
>>> def pickle_c(c):
... print("pickling a C instance...")
... return C, (c.a,)
...
>>> copyreg.pickle(C, pickle_c)
>>> c = C(1)
>>> d = copy.copy(c)
pickling a C instance...
>>> p = pickle.dumps(c)
pickling a C instance...
انظر أيضًا
مصادر
صفحة Efficient arrays of numeric values في توثيق بايثون الرسمي.