الفرق بين المراجعتين لصفحة: «Python/format»
< Python
إضافة الصّفحة |
|||
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدالة <code>format()</code> في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:الدالة <code>format()</code> في بايثون}}</noinclude> | ||
تُحوّل الدّالة <code>format()</code> | تُحوّل الدّالة <code>format()</code> قيمةً مُعطاةً إلى تمثيل مُنسّق حسب ما تُحدّده مواصفة التّنسيق المُعطاة. | ||
== البنية العامة == | == البنية العامة == | ||
سطر 9: | سطر 9: | ||
== المعاملات == | == المعاملات == | ||
=== <code>value</code> === | === <code>value</code> === | ||
القيمة المرغوب تنسيقها. | |||
=== <code>format_spec</code> === | === <code>format_spec</code> === | ||
مُعامل اختياريّ تكون قيمته الافتراضيّة سلسلةً نصيّةً عادة ما تُعطي نفس تأثير الاستدعاء <code>str(value)</code>. | مُعامل اختياريّ تكون قيمته الافتراضيّة سلسلةً نصيّةً عادة ما تُعطي نفس تأثير الاستدعاء <code>[[Python/str|str(value)]]</code>. | ||
== القيمة المعادة == | == القيمة المعادة == | ||
القيمة المُنسّقة حسب المواصفة المُعطاة. | القيمة المُنسّقة حسب المواصفة المُعطاة. | ||
تختلف آليّة تفسير المواصفة المُعطاة للمُعامل <code>format_spec</code> حسب نوع قيمة المُعامل <code>value</code>، لكنّ هناك | تختلف آليّة تفسير المواصفة المُعطاة للمُعامل <code>format_spec</code> حسب نوع قيمة المُعامل <code>value</code>، لكنّ هناك [[Python/string/formatspec|بنية قياسيّة للتنسيق]] تُستخدم من طرف مُعظم الأنواع المُضمّنة في لغة بايثون. | ||
== أمثلة == | == أمثلة == | ||
سطر 34: | سطر 35: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== ملاحظات == | |||
* يُترجَم الاستدعاء <code>format(value, format_spec)</code> إلى <code>type(value).__format__(value, format_spec)</code> وبما أنّ البحث يتمّ على مُستوى نوع القيمة، فسيُتَجاهل قاموس النّسخة (instance) عند البحث عن التّابع <code>__format__()</code> الخاصّ بالقيمة. يُطلق استثناء <code>[[Python/built-in exceptions#TypeError|TypeError]]</code> إن وصل البحث عن التّابع إلى الكائن <code>[[Python/object|object]]</code> وقيمةُ المُعامل <code>format_spec</code> غير فارغة. أو في حالة لم يكن المُعامل <code>format_spec</code> أو القيمةُ المُعادةُ سلاسل نصيّة. | |||
== انظر أيضًا == | == انظر أيضًا == | ||
* [[Python/str|السلاسل النصية في بايثون]] | * [[Python/str|السلاسل النصية في بايثون.]] | ||
* [[Python/int|الأعداد الصحيحة في بايثون]]. | * [[Python/int|الأعداد الصحيحة في بايثون]]. | ||
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 16:18، 25 مايو 2018
تُحوّل الدّالة format()
قيمةً مُعطاةً إلى تمثيل مُنسّق حسب ما تُحدّده مواصفة التّنسيق المُعطاة.
البنية العامة
format(value[, format_spec])
المعاملات
value
القيمة المرغوب تنسيقها.
format_spec
مُعامل اختياريّ تكون قيمته الافتراضيّة سلسلةً نصيّةً عادة ما تُعطي نفس تأثير الاستدعاء str(value)
.
القيمة المعادة
القيمة المُنسّقة حسب المواصفة المُعطاة.
تختلف آليّة تفسير المواصفة المُعطاة للمُعامل format_spec
حسب نوع قيمة المُعامل value
، لكنّ هناك بنية قياسيّة للتنسيق تُستخدم من طرف مُعظم الأنواع المُضمّنة في لغة بايثون.
أمثلة
المثال التّالي يوضّح كيفيّة عمل هذه الدّالة:
>>> format(1000000, ',') # تنسيق عدد بوضع فاصلة للآلاف
'1,000,000'
>>> format(1/10, '.2f') # تنسيق عدد عشريّ بتحديد عدد الأرقام وراء الفاصلة باثنين
'0.10'
>>> format(1/10, '.100f') # تحديد الأرقام وراء الفاصلة بمئة رقم
'0.1000000000000000055511151231257827021181583404541015625000000000000000000000000000000000000000000000'
>>> format(12, 'b') # تنسيق عدد بالمُنسّق الثّنائيّ
'1100'
ملاحظات
- يُترجَم الاستدعاء
format(value, format_spec)
إلىtype(value).__format__(value, format_spec)
وبما أنّ البحث يتمّ على مُستوى نوع القيمة، فسيُتَجاهل قاموس النّسخة (instance) عند البحث عن التّابع__format__()
الخاصّ بالقيمة. يُطلق استثناءTypeError
إن وصل البحث عن التّابع إلى الكائنobject
وقيمةُ المُعاملformat_spec
غير فارغة. أو في حالة لم يكن المُعاملformat_spec
أو القيمةُ المُعادةُ سلاسل نصيّة.