الفرق بين المراجعتين لصفحة: «Python/format»
< Python
لا ملخص تعديل |
|||
سطر 37: | سطر 37: | ||
== ملاحظات == | == ملاحظات == | ||
* يُترجَم الاستدعاء <code>format(value, format_spec)</code> إلى <code>type(value).__format__(value, format_spec)</code> | * يُترجَم الاستدعاء <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> أو القيمةُ المُعادةُ سلاسل نصيّة. | ||
== انظر أيضًا == | == انظر أيضًا == |
المراجعة الحالية بتاريخ 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
أو القيمةُ المُعادةُ سلاسل نصيّة.