الفرق بين المراجعتين لصفحة: «Python/ascii»
< Python
طلا ملخص تعديل |
طلا ملخص تعديل |
||
سطر 15: | سطر 15: | ||
== أمثلة == | == أمثلة == | ||
يوضّح المثال التّالي الفرق بين كلّ من الدّالة <code>repr()</code> والدّالة <code>ascii()</code>، إذ نقوم بتعريف التّابع <code> | يوضّح المثال التّالي الفرق بين كلّ من الدّالة <code>repr()</code> والدّالة <code>ascii()</code>، إذ نقوم بتعريف التّابع <code>__repr__</code> الخاصّ الذي تُمثّل القيمة التّي يُعيدها تمثيلَ الكائن من نوع الصّنفِ المُعرّفِ عليه. لاحظ أنّ المحارف <code>«</code> و <code>»</code> و<code>¦</code> ليست محارف ASCII، لذا فقد هُرّبَت. | ||
<syntaxhighlight lang="python3"> | <syntaxhighlight lang="python3"> |
مراجعة 12:30، 11 أبريل 2018
تعيد الدّالة ascii()
تمثيلًا (representation) نصيًّا لكائن مُعيّنٍ يُمكن طباعته كما الحال مع الدّالة repr()
، لكن مع تهريب (escape) المحارف التي لا تُعدّ محارفَ ASCII في السلسلة النّصيّة المعادة باستعمال التّهريبات \U
أو \u
أو \x
. وتُعيد هذه الدّالة سلسلةً نصيّةً مُشابهةً لتلك التي كانت تُعيدها الدّالة repr()
في بايثون 2.
البنية العامة
ascii(object)
المعاملات
object
الكائن المُراد الحصول على تمثيلٍ نصيّ له.
القيمة المعادة
سلسلة نصيّة تمثّل الكائن. انظر المثال أسفله.
أمثلة
يوضّح المثال التّالي الفرق بين كلّ من الدّالة repr()
والدّالة ascii()
، إذ نقوم بتعريف التّابع __repr__
الخاصّ الذي تُمثّل القيمة التّي يُعيدها تمثيلَ الكائن من نوع الصّنفِ المُعرّفِ عليه. لاحظ أنّ المحارف «
و »
و¦
ليست محارف ASCII، لذا فقد هُرّبَت.
>>> class Example:
... def __repr__(self):
... return '«Class¦Example»'
...
>>> example_object = Example()
>>> repr(example_object)
'«Class¦Example»'
>>> ascii(example_object)
'\\xabClass\\xa6Example\\xbb'