الفرق بين المراجعتين ل"Python/format"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:الدالة <code>format()‎</code> في بايثون}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:الدالة <code>format()‎</code> في بايثون}}</noinclude>
تُحوّل الدّالة <code>format()‎</code> قيمة مُعطاةً إلى تمثيل مُنسّق حسب ما تُحدّده مواصفة التّنسيق المُعطاة.
+
تُحوّل الدّالة <code>format()‎</code> قيمةً مُعطاةً إلى تمثيل مُنسّق حسب ما تُحدّده مواصفة التّنسيق المُعطاة.
  
 
== البنية العامة ==
 
== البنية العامة ==
سطر 12: سطر 12:
  
 
=== <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|بنية قياسيّة للتنسيق]] تُستخدم من طرف مُعظم الأنواع المُضمّنة في لغة بايثون.
  
 
== أمثلة ==
 
== أمثلة ==
سطر 35: سطر 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|الأعداد الصحيحة في بايثون]].
 
== ملاحظات ==
 
* يُترجَم الاستدعاء <code>‎format‎(‎value‎,‎ format_spec‎)‎</code> إلى <code>‎type‎(‎value‎)‎.‎__‎format‎_‎_‎(value‎,‎ format_spec‎)‎</code> ما يتجاهل قاموس النّسخة (instance) عند البحث عن التّابع <code>‎_‎_‎format‎_‎_‎(‎)‎</code> الخاصّ بالقيمة. يُطلق استثناء <code>TypeError</code> إن وصل البحث عن التّابع إلى الكائن <code>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 أو القيمةُ المُعادةُ سلاسل نصيّة.

انظر أيضًا

مصادر