https://wiki.hsoub.com/index.php?title=Python/formatting_output&feed=atom&action=history
Python/formatting output - تاريخ المراجعة
2024-03-28T22:44:09Z
تاريخ التعديل لهذه الصفحة في الويكي
MediaWiki 1.35.0
https://wiki.hsoub.com/index.php?title=Python/formatting_output&diff=9372&oldid=prev
عبد اللطيف ايمش: نقل عبد اللطيف ايمش صفحة Python/formatting-output إلى Python/formatting output
2018-05-29T12:36:00Z
<p>نقل عبد اللطيف ايمش صفحة <a href="/Python/formatting-output" class="mw-redirect" title="Python/formatting-output">Python/formatting-output</a> إلى <a href="/Python/formatting_output" title="Python/formatting output">Python/formatting output</a></p>
<table class="diff diff-contentalign-right diff-editfont-monospace" data-mw="interface">
<tr class="diff-title" lang="ar">
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">→ مراجعة أقدم</td>
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">مراجعة 12:36، 29 مايو 2018</td>
</tr><tr><td colspan="2" class="diff-notice" lang="ar"><div class="mw-diff-empty">(لا فرق)</div>
</td></tr></table>
عبد اللطيف ايمش
https://wiki.hsoub.com/index.php?title=Python/formatting_output&diff=9370&oldid=prev
عبد اللطيف ايمش في 12:33، 29 مايو 2018
2018-05-29T12:33:54Z
<p></p>
<table class="diff diff-contentalign-right diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="ar">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">→ مراجعة أقدم</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">مراجعة 12:33، 29 مايو 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l2" >سطر 2:</td>
<td colspan="2" class="diff-lineno">سطر 2:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تقدّم بايثون عددًا من الطرائق التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة سهلة القراءة، أو يمكن كتابة البيانات في ملف لاستخدامه في المستقبل. </div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تقدّم بايثون عددًا من الطرائق التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة سهلة القراءة، أو يمكن كتابة البيانات في ملف لاستخدامه في المستقبل. </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">استخدم </del>التوثيق <del class="diffchange diffchange-inline">في الفصول السابقة </del>طريقتين لكتابة القيم: الأول هي العبارات expression statements <del class="diffchange diffchange-inline">ودالة </del><code>print()</code>. (هناك طريقة ثالثة وهي استخدام التابع <code>write()</code> الخاص بالكائنات <code>file</code>، ويعرف ملف المخرجات القياسي بـ <code>sys.stdout</code>). </div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">استخدمنا في هذا </ins>التوثيق طريقتين لكتابة القيم: الأول هي العبارات expression statements <ins class="diffchange diffchange-inline">والدالة </ins><code><ins class="diffchange diffchange-inline">[[Python/print|</ins>print()<ins class="diffchange diffchange-inline">]]</ins></code>. (هناك طريقة ثالثة وهي استخدام التابع <code>write()</code> الخاص بالكائنات <code>file</code>، ويعرف ملف المخرجات القياسي بـ <code>sys.stdout</code>). </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تظهر الحاجة في كثير من الأحيان إلى التحكم في تنسيق المخرجات وإظهارها بأشكال مختلفة وليس كقيم مفصولة بفراغات وحسب. وهناك طريقتان لتنسيق المخرجات، الأولى هي القيام بعمليات معالجة [[Python/str|السلاسل النصية]] يدويًّا، فباستخدام عمليتي [[Python/str#.D8.A7.D9.82.D8.AA.D8.B7.D8.A7.D8.B9 .D8.A7.D9.84.D8.B3.D9.84.D8.B3.D9.84.D8.A9 .D8.A7.D9.84.D9.86.D8.B5.D9.8A.D8.A9|اقتطاع السلاسل النصية (slicing)]] و<nowiki/>[[Python/str#.D8.B1.D8.A8.D8.B7 .D8.A7.D9.84.D8.B3.D9.84.D8.A7.D8.B3.D9.84 .D8.A7.D9.84.D9.86.D8.B5.D9.8A.D8.A9 .D9.88.D8.AA.D9.83.D8.B1.D8.A7.D8.B1.D9.87.D8.A7|ربطها (concatenation)]] يمكن تنسيق المخرجات حسب الرغبة. وتمتلك [[Python/str|السلاسل النصية]] بعض التوابع التي تؤدي بعض العمليات المفيدة التي ترتب السلاسل النصية في أعمدة ذات عرض محدد.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تظهر الحاجة في كثير من الأحيان إلى التحكم في تنسيق المخرجات وإظهارها بأشكال مختلفة وليس كقيم مفصولة بفراغات وحسب. وهناك طريقتان لتنسيق المخرجات، الأولى هي القيام بعمليات معالجة [[Python/str|السلاسل النصية]] يدويًّا، فباستخدام عمليتي [[Python/str#.D8.A7.D9.82.D8.AA.D8.B7.D8.A7.D8.B9 .D8.A7.D9.84.D8.B3.D9.84.D8.B3.D9.84.D8.A9 .D8.A7.D9.84.D9.86.D8.B5.D9.8A.D8.A9|اقتطاع السلاسل النصية (slicing)]] و<nowiki/>[[Python/str#.D8.B1.D8.A8.D8.B7 .D8.A7.D9.84.D8.B3.D9.84.D8.A7.D8.B3.D9.84 .D8.A7.D9.84.D9.86.D8.B5.D9.8A.D8.A9 .D9.88.D8.AA.D9.83.D8.B1.D8.A7.D8.B1.D9.87.D8.A7|ربطها (concatenation)]] يمكن تنسيق المخرجات حسب الرغبة. وتمتلك [[Python/str|السلاسل النصية]] بعض التوابع التي تؤدي بعض العمليات المفيدة التي ترتب السلاسل النصية في أعمدة ذات عرض محدد.</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l10" >سطر 10:</td>
<td colspan="2" class="diff-lineno">سطر 10:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تضم وحدة <code>string</code> الصنف <code>Template</code> الذي يقدّم طرقًا أخرى لاستبدال القيم ضمن السلاسل النصية.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تضم وحدة <code>string</code> الصنف <code>Template</code> الذي يقدّم طرقًا أخرى لاستبدال القيم ضمن السلاسل النصية.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>تقدم بايثون كذلك بعض الطرائق [[Python/str#.D8.A7.D9.84.D8.AA.D8.AD.D9.88.D9.8A.D9.84 .D8.A5.D9.84.D9.89 .D8.B3.D9.84.D8.B3.D9.84.D8.A9 .D9.86.D8.B5.D9.8A.D8.A9|لتحويل القيم إلى سلاسل نصية]]، منها تمرير القيمة إلى إحدى الدالتين <del class="diffchange diffchange-inline"> </del><code>str()</code>أو <code>repr()</code>.</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>تقدم بايثون كذلك بعض الطرائق [[Python/str#.D8.A7.D9.84.D8.AA.D8.AD.D9.88.D9.8A.D9.84 .D8.A5.D9.84.D9.89 .D8.B3.D9.84.D8.B3.D9.84.D8.A9 .D9.86.D8.B5.D9.8A.D8.A9|لتحويل القيم إلى سلاسل نصية]]، منها تمرير القيمة إلى إحدى الدالتين <code><ins class="diffchange diffchange-inline">[[Python/str|</ins>str()<ins class="diffchange diffchange-inline">]]</ins></code>أو <code><ins class="diffchange diffchange-inline">[[Python/repr|</ins>repr()<ins class="diffchange diffchange-inline">]]</ins></code>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>تعيد الدالة <code>str()</code> تمثيلًا للقيمة يكون قابلًا للقراءة، في حين تنشئ الدالة <code>repr()</code> تمثيلًا يمكن لمفسّر بايثون أن يقرأه (أو تطلق الخطأ <code>SyntaxError</code> في حال عدم وجود صيغة مكافئة).</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>تعيد الدالة <code>str()</code> تمثيلًا للقيمة يكون قابلًا للقراءة، في حين تنشئ الدالة <code>repr()</code> تمثيلًا يمكن لمفسّر بايثون أن يقرأه (أو تطلق الخطأ <code><ins class="diffchange diffchange-inline">[[Python/built-in exceptions#</ins>SyntaxError<ins class="diffchange diffchange-inline">|SyntaxError]]</ins></code> في حال عدم وجود صيغة مكافئة).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تعيد الدالة <code>str()</code> نفس القيمة المعادة من الدالة <code>repr()</code> إذا كان الكائن المراد تمثيله لا يملك صيغة خاصة يمكن قراءتها من قبل الإنسان، والأعداد [[Python/list|والقوائم]] [[Python/dict|والقواميس]] هي خير مثال على هذه الكائنات. أما [[Python/str|السلاسل النصية]] فتمتلك تمثيلين مختلفين، كما يوضح ذلك المثال التالي:<syntaxhighlight lang="python3"></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تعيد الدالة <code>str()</code> نفس القيمة المعادة من الدالة <code>repr()</code> إذا كان الكائن المراد تمثيله لا يملك صيغة خاصة يمكن قراءتها من قبل الإنسان، والأعداد [[Python/list|والقوائم]] [[Python/dict|والقواميس]] هي خير مثال على هذه الكائنات. أما [[Python/str|السلاسل النصية]] فتمتلك تمثيلين مختلفين، كما يوضح ذلك المثال التالي:<syntaxhighlight lang="python3"></div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l66" >سطر 66:</td>
<td colspan="2" class="diff-lineno">سطر 66:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>لاحظ إضافة مسافة بيضاء واحدة في المثال الأول بين كل عمود بواسطة الدالة <code>[[Python/print|print()]]</code>. تضيف هذه الدالة المسافات البيضاء بين وسائطها بصورة افتراضية).</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>لاحظ إضافة مسافة بيضاء واحدة في المثال الأول بين كل عمود بواسطة الدالة <code>[[Python/print|print()]]</code>. تضيف هذه الدالة المسافات البيضاء بين وسائطها بصورة افتراضية).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>يوضح المثال السابق طريقة استخدام التابع <code>str.rjust()</code> الخاص بكائنات السلاسل النصية، والذي يعمل على محاذاة السلسلة النصية في حقل ذي عرض محدّد إلى جهة اليمين وذلك بإضافة المسافات البيضاء إلى يسار السلسلة، وهناك تابعان آخران مماثلان هما <code>[[Python/str/ljust|str.ljust()]]</code> لمحاذاة السلاسل النصية إلى اليسار و<code>[[Python/str/center|str.center()]]</code> لمحاذاتها وسطيًّا. </div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>يوضح المثال السابق طريقة استخدام التابع <code><ins class="diffchange diffchange-inline">[[Python/str/rjust|</ins>str.rjust()<ins class="diffchange diffchange-inline">]]</ins></code> الخاص بكائنات السلاسل النصية، والذي يعمل على محاذاة السلسلة النصية في حقل ذي عرض محدّد إلى جهة اليمين وذلك بإضافة المسافات البيضاء إلى يسار السلسلة، وهناك تابعان آخران مماثلان هما <code>[[Python/str/ljust|str.ljust()]]</code> لمحاذاة السلاسل النصية إلى اليسار و<code>[[Python/str/center|str.center()]]</code> لمحاذاتها وسطيًّا. </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>لا تكتب هذه التوابع أيّ شيء، وإنّما تعيد سلسلة نصية جديدة، وإن كانت [[Python/str|السلسلة النصية]] المدخلة طويلة جدًّا لن تقوم هذه التوابع بتقصير [[Python/str|السلسلة النصية]] ممّا قد يخلّ بترتيب الأعمدة، وهو الخيار الأفضل مقارنة بتغيير القيمة الحقيقية. (إن كنت ترغب في تقصير السلاسل يمكن إضافة عامل الاقتطاع مثل: <code>x.ljust(n)[:n]</code>).</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>لا تكتب هذه التوابع أيّ شيء، وإنّما تعيد سلسلة نصية جديدة، وإن كانت [[Python/str|السلسلة النصية]] المدخلة طويلة جدًّا لن تقوم هذه التوابع بتقصير [[Python/str|السلسلة النصية]] ممّا قد يخلّ بترتيب الأعمدة، وهو الخيار الأفضل مقارنة بتغيير القيمة الحقيقية. (إن كنت ترغب في تقصير السلاسل يمكن إضافة عامل الاقتطاع مثل: <code>x.ljust(n)[:n]</code>).</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l94" >سطر 94:</td>
<td colspan="2" class="diff-lineno">سطر 94:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('The story of {0}, {1}, and {other}.'.format('Bill', 'Manfred', other='Georg'))</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('The story of {0}, {1}, and {other}.'.format('Bill', 'Manfred', other='Georg'))</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The story of Bill, Manfred, and Georg.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The story of Bill, Manfred, and Georg.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>يمكن استخدام الوسيط <code>'!a'</code> (تطبيق الدالة <code>[[Python/ascii|ascii()]]</code>) و <code>'!s'</code> (تطبيق الدالة <code>str()</code>) و <code>'!r'</code> (تطبيق الدالة <code>repr()</code>) لتحويل القيم قبل تنسيقها:<syntaxhighlight lang="python3"></div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>يمكن استخدام الوسيط <code>'!a'</code> (تطبيق الدالة <code>[[Python/ascii|ascii()]]</code>) و <code>'!s'</code> (تطبيق الدالة <code><ins class="diffchange diffchange-inline">[[Python/str|</ins>str()<ins class="diffchange diffchange-inline">]]</ins></code>) و <code>'!r'</code> (تطبيق الدالة <ins class="diffchange diffchange-inline">[[Python/repr|</ins><code>repr()</code><ins class="diffchange diffchange-inline">]]</ins>) لتحويل القيم قبل تنسيقها:<syntaxhighlight lang="python3"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> contents = 'eels'</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> contents = 'eels'</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('My hovercraft is full of {}.'.format(contents))</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('My hovercraft is full of {}.'.format(contents))</div></td></tr>
</table>
عبد اللطيف ايمش
https://wiki.hsoub.com/index.php?title=Python/formatting_output&diff=8838&oldid=prev
Mohammed Taher في 20:46، 20 مايو 2018
2018-05-20T20:46:18Z
<p></p>
<table class="diff diff-contentalign-right diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="ar">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">→ مراجعة أقدم</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">مراجعة 20:46، 20 مايو 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l4" >سطر 4:</td>
<td colspan="2" class="diff-lineno">سطر 4:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>استخدم التوثيق في الفصول السابقة طريقتين لكتابة القيم: الأول هي العبارات expression statements ودالة <code>print()</code>. (هناك طريقة ثالثة وهي استخدام التابع <code>write()</code> الخاص بالكائنات <code>file</code>، ويعرف ملف المخرجات القياسي بـ <code>sys.stdout</code>). </div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>استخدم التوثيق في الفصول السابقة طريقتين لكتابة القيم: الأول هي العبارات expression statements ودالة <code>print()</code>. (هناك طريقة ثالثة وهي استخدام التابع <code>write()</code> الخاص بالكائنات <code>file</code>، ويعرف ملف المخرجات القياسي بـ <code>sys.stdout</code>). </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>تظهر الحاجة في كثير من الأحيان إلى التحكم في تنسيق المخرجات وإظهارها بأشكال مختلفة وليس كقيم مفصولة بفراغات وحسب. وهناك طريقتان لتنسيق المخرجات، الأولى <del class="diffchange diffchange-inline">هو </del>القيام بعمليات معالجة السلاسل النصية يدويًّا، فباستخدام عمليتي اقتطاع السلاسل النصية (slicing) <del class="diffchange diffchange-inline">وربطها </del>(concatenation) يمكن تنسيق المخرجات حسب الرغبة. وتمتلك السلاسل النصية بعض التوابع التي تؤدي بعض العمليات المفيدة التي ترتب السلاسل النصية في أعمدة ذات عرض محدد.</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>تظهر الحاجة في كثير من الأحيان إلى التحكم في تنسيق المخرجات وإظهارها بأشكال مختلفة وليس كقيم مفصولة بفراغات وحسب. وهناك طريقتان لتنسيق المخرجات، الأولى <ins class="diffchange diffchange-inline">هي </ins>القيام بعمليات معالجة <ins class="diffchange diffchange-inline">[[Python/str|</ins>السلاسل النصية<ins class="diffchange diffchange-inline">]] </ins>يدويًّا، فباستخدام عمليتي <ins class="diffchange diffchange-inline">[[Python/str#.D8.A7.D9.82.D8.AA.D8.B7.D8.A7.D8.B9 .D8.A7.D9.84.D8.B3.D9.84.D8.B3.D9.84.D8.A9 .D8.A7.D9.84.D9.86.D8.B5.D9.8A.D8.A9|</ins>اقتطاع السلاسل النصية (slicing)<ins class="diffchange diffchange-inline">]] و<nowiki/>[[Python/str#.D8.B1.D8.A8.D8.B7 .D8.A7.D9.84.D8.B3.D9.84.D8.A7.D8.B3.D9.84 .D8.A7.D9.84.D9.86.D8.B5.D9.8A.D8.A9 .D9.88.D8.AA.D9.83.D8.B1.D8.A7.D8.B1.D9.87.D8.A7|ربطها </ins>(concatenation)<ins class="diffchange diffchange-inline">]] </ins>يمكن تنسيق المخرجات حسب الرغبة. وتمتلك <ins class="diffchange diffchange-inline">[[Python/str|</ins>السلاسل النصية<ins class="diffchange diffchange-inline">]] </ins>بعض التوابع التي تؤدي بعض العمليات المفيدة التي ترتب السلاسل النصية في أعمدة ذات عرض محدد.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>الطريقة الثانية هي استخدام حروف تنسيق السلاسل النصية أو التابع <code>str.format()</code>.</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>الطريقة الثانية هي استخدام حروف تنسيق السلاسل النصية أو التابع <code><ins class="diffchange diffchange-inline">[[Python/str/format|</ins>str.format()<ins class="diffchange diffchange-inline">]]</ins></code>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تضم وحدة <code>string</code> الصنف <code>Template</code> الذي يقدّم طرقًا أخرى لاستبدال القيم ضمن السلاسل النصية.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تضم وحدة <code>string</code> الصنف <code>Template</code> الذي يقدّم طرقًا أخرى لاستبدال القيم ضمن السلاسل النصية.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>تقدم بايثون كذلك بعض الطرائق لتحويل القيم إلى سلاسل <del class="diffchange diffchange-inline">نصية، </del>منها تمرير القيمة إلى إحدى الدالتين <code>str()</code>أو <code>repr()</code>.</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>تقدم بايثون كذلك بعض الطرائق <ins class="diffchange diffchange-inline">[[Python/str#.D8.A7.D9.84.D8.AA.D8.AD.D9.88.D9.8A.D9.84 .D8.A5.D9.84.D9.89 .D8.B3.D9.84.D8.B3.D9.84.D8.A9 .D9.86.D8.B5.D9.8A.D8.A9|</ins>لتحويل القيم إلى سلاسل <ins class="diffchange diffchange-inline">نصية]]، </ins>منها تمرير القيمة إلى إحدى الدالتين <code>str()</code>أو <code>repr()</code>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تعيد الدالة <code>str()</code> تمثيلًا للقيمة يكون قابلًا للقراءة، في حين تنشئ الدالة <code>repr()</code> تمثيلًا يمكن لمفسّر بايثون أن يقرأه (أو تطلق الخطأ <code>SyntaxError</code> في حال عدم وجود صيغة مكافئة).</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تعيد الدالة <code>str()</code> تمثيلًا للقيمة يكون قابلًا للقراءة، في حين تنشئ الدالة <code>repr()</code> تمثيلًا يمكن لمفسّر بايثون أن يقرأه (أو تطلق الخطأ <code>SyntaxError</code> في حال عدم وجود صيغة مكافئة).</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l64" >سطر 64:</td>
<td colspan="2" class="diff-lineno">سطر 64:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> 9 81 729</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> 9 81 729</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>10 100 1000</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>10 100 1000</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>لاحظ إضافة مسافة بيضاء واحدة في المثال الأول بين كل عمود بواسطة الدالة <code>print()</code>. تضيف هذه الدالة المسافات البيضاء بين وسائطها بصورة افتراضية).</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>لاحظ إضافة مسافة بيضاء واحدة في المثال الأول بين كل عمود بواسطة الدالة <code><ins class="diffchange diffchange-inline">[[Python/print|</ins>print()<ins class="diffchange diffchange-inline">]]</ins></code>. تضيف هذه الدالة المسافات البيضاء بين وسائطها بصورة افتراضية).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>يوضح المثال السابق طريقة استخدام التابع <code>str.rjust()</code> الخاص بكائنات السلاسل النصية، والذي يعمل على محاذاة السلسلة النصية في حقل ذي عرض محدّد إلى جهة اليمين وذلك بإضافة المسافات البيضاء إلى يسار السلسلة، وهناك تابعان آخران مماثلان هما <code>str.ljust()</code> لمحاذاة السلاسل النصية إلى اليسار و<code>str.center()</code> لمحاذاتها وسطيًّا. </div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>يوضح المثال السابق طريقة استخدام التابع <code>str.rjust()</code> الخاص بكائنات السلاسل النصية، والذي يعمل على محاذاة السلسلة النصية في حقل ذي عرض محدّد إلى جهة اليمين وذلك بإضافة المسافات البيضاء إلى يسار السلسلة، وهناك تابعان آخران مماثلان هما <code><ins class="diffchange diffchange-inline">[[Python/str/ljust|</ins>str.ljust()<ins class="diffchange diffchange-inline">]]</ins></code> لمحاذاة السلاسل النصية إلى اليسار و<code><ins class="diffchange diffchange-inline">[[Python/str/center|</ins>str.center()<ins class="diffchange diffchange-inline">]]</ins></code> لمحاذاتها وسطيًّا. </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>لا تكتب هذه التوابع أيّ شيء، وإنّما تعيد سلسلة نصية جديدة، وإن كانت [[Python/str|السلسلة النصية]] المدخلة طويلة جدًّا لن تقوم هذه التوابع بتقصير [[Python/str|السلسلة النصية]] ممّا قد يخلّ بترتيب الأعمدة، وهو الخيار الأفضل مقارنة بتغيير القيمة الحقيقية. (إن كنت ترغب في تقصير السلاسل يمكن إضافة عامل الاقتطاع مثل: <code>x.ljust(n)[:n]</code>).</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>لا تكتب هذه التوابع أيّ شيء، وإنّما تعيد سلسلة نصية جديدة، وإن كانت [[Python/str|السلسلة النصية]] المدخلة طويلة جدًّا لن تقوم هذه التوابع بتقصير [[Python/str|السلسلة النصية]] ممّا قد يخلّ بترتيب الأعمدة، وهو الخيار الأفضل مقارنة بتغيير القيمة الحقيقية. (إن كنت ترغب في تقصير السلاسل يمكن إضافة عامل الاقتطاع مثل: <code>x.ljust(n)[:n]</code>).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>هناك تابع آخر هو <code><del class="diffchange diffchange-inline">st</del>.zfill()</code> ووظيفته إزاحة [[Python/str|السلاسل النصية]] المتكونة من أرقام إلى جهة اليسار باستخدام الأصفار، ويمكن لهذا التابع أن يتعامل مع الأعداد الموجبة والسالبة:<syntaxhighlight lang="python3"></div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>هناك تابع آخر هو <code><ins class="diffchange diffchange-inline">[[Python/str/zfill|str</ins>.zfill()<ins class="diffchange diffchange-inline">]]</ins></code> ووظيفته إزاحة [[Python/str|السلاسل النصية]] المتكونة من أرقام إلى جهة اليسار باستخدام الأصفار، ويمكن لهذا التابع أن يتعامل مع الأعداد الموجبة والسالبة:<syntaxhighlight lang="python3"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> '12'.zfill(5)</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> '12'.zfill(5)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'00012'</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'00012'</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l77" >سطر 77:</td>
<td colspan="2" class="diff-lineno">سطر 77:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> '3.14159265359'.zfill(5)</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> '3.14159265359'.zfill(5)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'3.14159265359'</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'3.14159265359'</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>يمكن استخدام التابع <code>str.format()</code> بالطريقة التالية:<syntaxhighlight lang="python3"></div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>يمكن استخدام التابع <code><ins class="diffchange diffchange-inline">[[Python/str/format|</ins>str.format()<ins class="diffchange diffchange-inline">]]</ins></code> بالطريقة التالية:<syntaxhighlight lang="python3"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('We are the {} who say "{}!"'.format('knights', 'Ni'))</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('We are the {} who say "{}!"'.format('knights', 'Ni'))</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>We are the knights who say "Ni!"</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>We are the knights who say "Ni!"</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>تستبدل الأقواس والأحرف التي بداخلها (والتي تدعى بحقول التنسيق) بالكائنات الممررة إلى التابع <code>str.format()</code>. ويمكن استخدام رقم داخل القوس للإشارة إلى موقع الكائن الممرّر في التابع <code>str.format()</code>:<syntaxhighlight lang="python3"></div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>تستبدل الأقواس والأحرف التي بداخلها (والتي تدعى بحقول التنسيق) بالكائنات الممررة إلى التابع <code><ins class="diffchange diffchange-inline">[[Python/str/format|</ins>str.format()<ins class="diffchange diffchange-inline">]]</ins></code>. ويمكن استخدام رقم داخل القوس للإشارة إلى موقع الكائن الممرّر في التابع <code><ins class="diffchange diffchange-inline">[[Python/str/format|</ins>str.format()<ins class="diffchange diffchange-inline">]]</ins></code>:<syntaxhighlight lang="python3"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('{0} and {1}'.format('spam', 'eggs'))</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('{0} and {1}'.format('spam', 'eggs'))</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>spam and eggs</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>spam and eggs</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l86" >سطر 86:</td>
<td colspan="2" class="diff-lineno">سطر 86:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>eggs and spam</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>eggs and spam</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>يمكن أيضًا استخدام الوسائط المفتاحية (keyword arguments) في التابع <code>str.format()</code> ويمكن الإشارة إلى قيمها باستخدام اسم الوسيط:<syntaxhighlight lang="python3"></div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>يمكن أيضًا استخدام الوسائط المفتاحية (keyword arguments) في التابع <code><ins class="diffchange diffchange-inline">[[Python/str/format|</ins>str.format()<ins class="diffchange diffchange-inline">]]</ins></code> ويمكن الإشارة إلى قيمها باستخدام اسم الوسيط:<syntaxhighlight lang="python3"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('This {food} is {adjective}.'.format(</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('This {food} is {adjective}.'.format(</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>... food='spam', adjective='absolutely horrible'))</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>... food='spam', adjective='absolutely horrible'))</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l94" >سطر 94:</td>
<td colspan="2" class="diff-lineno">سطر 94:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('The story of {0}, {1}, and {other}.'.format('Bill', 'Manfred', other='Georg'))</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('The story of {0}, {1}, and {other}.'.format('Bill', 'Manfred', other='Georg'))</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The story of Bill, Manfred, and Georg.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The story of Bill, Manfred, and Georg.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>يمكن استخدام الوسيط <code>'!a'</code> (تطبيق الدالة <code>ascii()</code>) و <code>'!s'</code> (تطبيق الدالة <code>str()</code>) و <code>'!r'</code> (تطبيق الدالة <code>repr()</code>) لتحويل القيم قبل تنسيقها:<syntaxhighlight lang="python3"></div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>يمكن استخدام الوسيط <code>'!a'</code> (تطبيق الدالة <code><ins class="diffchange diffchange-inline">[[Python/ascii|</ins>ascii()<ins class="diffchange diffchange-inline">]]</ins></code>) و <code>'!s'</code> (تطبيق الدالة <code>str()</code>) و <code>'!r'</code> (تطبيق الدالة <code>repr()</code>) لتحويل القيم قبل تنسيقها:<syntaxhighlight lang="python3"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> contents = 'eels'</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> contents = 'eels'</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('My hovercraft is full of {}.'.format(contents))</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('My hovercraft is full of {}.'.format(contents))</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l122" >سطر 122:</td>
<td colspan="2" class="diff-lineno">سطر 122:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('Jack: {Jack:d}; Sjoerd: {Sjoerd:d}; Dcab: {Dcab:d}'.format(**table))</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('Jack: {Jack:d}; Sjoerd: {Sjoerd:d}; Dcab: {Dcab:d}'.format(**table))</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Jack: 4098; Sjoerd: 4127; Dcab: 8637678</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Jack: 4098; Sjoerd: 4127; Dcab: 8637678</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>هذه الطريقة مفيدة للغاية مع الدالة الداخلية <code>vars()</code> والتي تعيد قاموسًا يحتوي على جميع المتغيرات المحلية<del class="diffchange diffchange-inline">. </del></div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>هذه الطريقة مفيدة للغاية مع الدالة الداخلية <code><ins class="diffchange diffchange-inline">[[Python/vars|</ins>vars()<ins class="diffchange diffchange-inline">]]</ins></code> والتي تعيد قاموسًا يحتوي على جميع المتغيرات المحلية.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">للاطلاع بصورة أوسع على تنسيق [[Python/str|السلاسل النصية]] باستخدام التابع <code>str.format()</code> راجع قسم صيغة تنسيق [[Python/str|السلاسل النصية]]</del>.</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== طريق التنسيق القديمة ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== طريق التنسيق القديمة ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>يمكن استخدام العامل <code>%</code> لتنسيق [[Python/str|السلاسل النصية]]، إذ يفسّر هذا العامل الأيسر والذي يشبه سلسلة تنسيق نصية بنفس نمط <del class="diffchange diffchange-inline">السلاسل المستخدمة في </del><code>sprintf()</code> وتطبيقها على الوسيط الأيمن، وإعادة [[Python/str|السلسلة النصية]] الناتجة من عملية التنسيق هذه. يوضح المثال التالي طريقة عمل هذا العامل:<syntaxhighlight lang="python3"></div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>يمكن استخدام العامل <code>%</code> لتنسيق [[Python/str|السلاسل النصية]]، إذ يفسّر هذا العامل الأيسر والذي يشبه سلسلة تنسيق نصية بنفس نمط <ins class="diffchange diffchange-inline"> </ins><code>sprintf()</code> <ins class="diffchange diffchange-inline">في تنسيق السلاسل النصية </ins>وتطبيقها على الوسيط الأيمن، وإعادة [[Python/str|السلسلة النصية]] الناتجة من عملية التنسيق هذه. يوضح المثال التالي طريقة عمل هذا العامل:<syntaxhighlight lang="python3"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> import math</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> import math</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('The value of PI is approximately %5.3f.' % math.pi)</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('The value of PI is approximately %5.3f.' % math.pi)</div></td></tr>
</table>
Mohammed Taher
https://wiki.hsoub.com/index.php?title=Python/formatting_output&diff=3831&oldid=prev
عبد اللطيف ايمش في 06:15، 22 مارس 2018
2018-03-22T06:15:28Z
<p></p>
<table class="diff diff-contentalign-right diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="ar">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">→ مراجعة أقدم</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">مراجعة 06:15، 22 مارس 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >سطر 1:</td>
<td colspan="2" class="diff-lineno">سطر 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><noinclude>{{DISPLAYTITLE:تنسيق المخرجات في بايثون}}</noinclude></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><noinclude>{{DISPLAYTITLE:تنسيق المخرجات في بايثون}}</noinclude></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>تقدّم بايثون عددًا من <del class="diffchange diffchange-inline">الطرق </del>التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة سهلة القراءة، أو يمكن كتابة البيانات في ملف لاستخدامه في المستقبل. </div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>تقدّم بايثون عددًا من <ins class="diffchange diffchange-inline">الطرائق </ins>التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة سهلة القراءة، أو يمكن كتابة البيانات في ملف لاستخدامه في المستقبل. </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>استخدم التوثيق في الفصول السابقة طريقتين لكتابة القيم: الأول هي العبارات expression statements ودالة <code>print()</code>. (هناك طريقة ثالثة وهي استخدام التابع <code>write()</code> الخاص بالكائنات <code>file</code>، ويعرف ملف المخرجات القياسي بـ <code>sys.stdout</code>). </div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>استخدم التوثيق في الفصول السابقة طريقتين لكتابة القيم: الأول هي العبارات expression statements ودالة <code>print()</code>. (هناك طريقة ثالثة وهي استخدام التابع <code>write()</code> الخاص بالكائنات <code>file</code>، ويعرف ملف المخرجات القياسي بـ <code>sys.stdout</code>). </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>تظهر الحاجة في كثير من الأحيان إلى التحكم في تنسيق المخرجات وإظهارها بأشكال مختلفة وليس كقيم مفصولة بفراغات وحسب. وهناك طريقتان لتنسيق المخرجات، الأولى هو القيام بعمليات معالجة السلاسل النصية يدويًّا، فباستخدام عمليتي اقتطاع السلاسل النصية (<del class="diffchange diffchange-inline">Slicing</del>) وربطها (<del class="diffchange diffchange-inline">Concatentaion</del>) يمكن تنسيق المخرجات حسب الرغبة. وتمتلك السلاسل النصية بعض التوابع التي تؤدي بعض العمليات المفيدة التي ترتب السلاسل النصية في أعمدة ذات عرض محدد.</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>تظهر الحاجة في كثير من الأحيان إلى التحكم في تنسيق المخرجات وإظهارها بأشكال مختلفة وليس كقيم مفصولة بفراغات وحسب. وهناك طريقتان لتنسيق المخرجات، الأولى هو القيام بعمليات معالجة السلاسل النصية يدويًّا، فباستخدام عمليتي اقتطاع السلاسل النصية (<ins class="diffchange diffchange-inline">slicing</ins>) وربطها (<ins class="diffchange diffchange-inline">concatenation</ins>) يمكن تنسيق المخرجات حسب الرغبة. وتمتلك السلاسل النصية بعض التوابع التي تؤدي بعض العمليات المفيدة التي ترتب السلاسل النصية في أعمدة ذات عرض محدد.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>الطريقة الثانية هي استخدام حروف تنسيق السلاسل النصية أو التابع <code>str.format()</code>.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>الطريقة الثانية هي استخدام حروف تنسيق السلاسل النصية أو التابع <code>str.format()</code>.</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l10" >سطر 10:</td>
<td colspan="2" class="diff-lineno">سطر 10:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تضم وحدة <code>string</code> الصنف <code>Template</code> الذي يقدّم طرقًا أخرى لاستبدال القيم ضمن السلاسل النصية.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تضم وحدة <code>string</code> الصنف <code>Template</code> الذي يقدّم طرقًا أخرى لاستبدال القيم ضمن السلاسل النصية.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>تقدم بايثون كذلك بعض <del class="diffchange diffchange-inline">الطرق </del>لتحويل القيم إلى سلاسل نصية، منها تمرير القيمة إلى إحدى الدالتين <code>str()</code>أو <code>repr()</code>.</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>تقدم بايثون كذلك بعض <ins class="diffchange diffchange-inline">الطرائق </ins>لتحويل القيم إلى سلاسل نصية، منها تمرير القيمة إلى إحدى الدالتين <code>str()</code>أو <code>repr()</code>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تعيد الدالة <code>str()</code> تمثيلًا للقيمة يكون قابلًا للقراءة، في حين تنشئ الدالة <code>repr()</code> تمثيلًا يمكن لمفسّر بايثون أن يقرأه (أو تطلق الخطأ <code>SyntaxError</code> في حال عدم وجود صيغة مكافئة).</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تعيد الدالة <code>str()</code> تمثيلًا للقيمة يكون قابلًا للقراءة، في حين تنشئ الدالة <code>repr()</code> تمثيلًا يمكن لمفسّر بايثون أن يقرأه (أو تطلق الخطأ <code>SyntaxError</code> في حال عدم وجود صيغة مكافئة).</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l113" >سطر 113:</td>
<td colspan="2" class="diff-lineno">سطر 113:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Sjoerd ==> 4127</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Sjoerd ==> 4127</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>إن <del class="diffchange diffchange-inline">كان </del>[[Python/str|السلسلة النصية]] طويلة ولا ترغب في تقطيعها، سيكون من الأفضل أن تشير إلى المتغير الذي ترغب في تنسيقه بواسطة اسمه لا بواسطة موقعه. يمكن القيام بذلك عن طريق تمرير [[Python/dict|القاموس]] واستخدام الأقواس المربعة <code>'[]'</code> للوصول إلى المفاتيح:<syntaxhighlight lang="python3"></div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight>إن <ins class="diffchange diffchange-inline">كانت </ins>[[Python/str|السلسلة النصية]] طويلة ولا ترغب في تقطيعها، سيكون من الأفضل أن تشير إلى المتغير الذي ترغب في تنسيقه بواسطة اسمه لا بواسطة موقعه. يمكن القيام بذلك عن طريق تمرير [[Python/dict|القاموس]] واستخدام الأقواس المربعة <code>'[]'</code> للوصول إلى المفاتيح:<syntaxhighlight lang="python3"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; '</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>>>> print('Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; '</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l134" >سطر 134:</td>
<td colspan="2" class="diff-lineno">سطر 134:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== مصادر ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== مصادر ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>صفحة [https://docs.python.org/3/tutorial/inputoutput.html Input and Output] في توثيق بايثون الرسمي.</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">* </ins>صفحة [https://docs.python.org/3/tutorial/inputoutput.html Input and Output] في توثيق بايثون الرسمي.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[تصنيف:Python]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[تصنيف:Python]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[تصنيف:Python Input and Output]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[تصنيف:Python Input and Output]]</div></td></tr>
</table>
عبد اللطيف ايمش
https://wiki.hsoub.com/index.php?title=Python/formatting_output&diff=3826&oldid=prev
Mohammed Taher في 04:24، 22 مارس 2018
2018-03-22T04:24:08Z
<p></p>
<table class="diff diff-contentalign-right diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="ar">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">→ مراجعة أقدم</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">مراجعة 04:24، 22 مارس 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >سطر 1:</td>
<td colspan="2" class="diff-lineno">سطر 1:</td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><noinclude>{{DISPLAYTITLE:تنسيق المخرجات في بايثون}}</noinclude></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تقدّم بايثون عددًا من الطرق التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة سهلة القراءة، أو يمكن كتابة البيانات في ملف لاستخدامه في المستقبل. </div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>تقدّم بايثون عددًا من الطرق التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة سهلة القراءة، أو يمكن كتابة البيانات في ملف لاستخدامه في المستقبل. </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>
Mohammed Taher
https://wiki.hsoub.com/index.php?title=Python/formatting_output&diff=3825&oldid=prev
Mohammed Taher: أنشأ الصفحة ب'تقدّم بايثون عددًا من الطرق التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة س...'
2018-03-22T04:23:16Z
<p>أنشأ الصفحة ب'تقدّم بايثون عددًا من الطرق التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة س...'</p>
<p><b>صفحة جديدة</b></p><div>تقدّم بايثون عددًا من الطرق التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة سهلة القراءة، أو يمكن كتابة البيانات في ملف لاستخدامه في المستقبل. <br />
<br />
استخدم التوثيق في الفصول السابقة طريقتين لكتابة القيم: الأول هي العبارات expression statements ودالة <code>print()</code>. (هناك طريقة ثالثة وهي استخدام التابع <code>write()</code> الخاص بالكائنات <code>file</code>، ويعرف ملف المخرجات القياسي بـ <code>sys.stdout</code>). <br />
<br />
تظهر الحاجة في كثير من الأحيان إلى التحكم في تنسيق المخرجات وإظهارها بأشكال مختلفة وليس كقيم مفصولة بفراغات وحسب. وهناك طريقتان لتنسيق المخرجات، الأولى هو القيام بعمليات معالجة السلاسل النصية يدويًّا، فباستخدام عمليتي اقتطاع السلاسل النصية (Slicing) وربطها (Concatentaion) يمكن تنسيق المخرجات حسب الرغبة. وتمتلك السلاسل النصية بعض التوابع التي تؤدي بعض العمليات المفيدة التي ترتب السلاسل النصية في أعمدة ذات عرض محدد.<br />
<br />
الطريقة الثانية هي استخدام حروف تنسيق السلاسل النصية أو التابع <code>str.format()</code>.<br />
<br />
تضم وحدة <code>string</code> الصنف <code>Template</code> الذي يقدّم طرقًا أخرى لاستبدال القيم ضمن السلاسل النصية.<br />
<br />
تقدم بايثون كذلك بعض الطرق لتحويل القيم إلى سلاسل نصية، منها تمرير القيمة إلى إحدى الدالتين <code>str()</code>أو <code>repr()</code>.<br />
<br />
تعيد الدالة <code>str()</code> تمثيلًا للقيمة يكون قابلًا للقراءة، في حين تنشئ الدالة <code>repr()</code> تمثيلًا يمكن لمفسّر بايثون أن يقرأه (أو تطلق الخطأ <code>SyntaxError</code> في حال عدم وجود صيغة مكافئة).<br />
<br />
تعيد الدالة <code>str()</code> نفس القيمة المعادة من الدالة <code>repr()</code> إذا كان الكائن المراد تمثيله لا يملك صيغة خاصة يمكن قراءتها من قبل الإنسان، والأعداد [[Python/list|والقوائم]] [[Python/dict|والقواميس]] هي خير مثال على هذه الكائنات. أما [[Python/str|السلاسل النصية]] فتمتلك تمثيلين مختلفين، كما يوضح ذلك المثال التالي:<syntaxhighlight lang="python3"><br />
>>> s = 'Hello, world.'<br />
>>> str(s)<br />
'Hello, world.'<br />
>>> repr(s)<br />
"'Hello, world.'"<br />
>>> str(1/7)<br />
'0.14285714285714285'<br />
>>> x = 10 * 3.25<br />
>>> y = 200 * 200<br />
>>> s = 'The value of x is ' + repr(x) + ', and y is ' + repr(y) + '...'<br />
>>> print(s)<br />
The value of x is 32.5, and y is 40000...<br />
>>> # The repr() of a string adds string quotes and backslashes:<br />
... hello = 'hello, world\n'<br />
>>> hellos = repr(hello)<br />
>>> print(hellos)<br />
'hello, world\n'<br />
>>> # يمكن لوسائط الدالة التالية أن تكون من أنواع مختلفة<br />
... repr((x, y, ('spam', 'eggs')))<br />
"(32.5, 40000, ('spam', 'eggs'))"<br />
</syntaxhighlight>فيما يلي طريقتان لكتابة جدول يضم مربّعات ومكعّبات الأرقام (لاحظ استخدام <code>end</code> في نهاية الدالة <code>print</code>):<syntaxhighlight lang="python3"><br />
>>> for x in range(1, 11):<br />
... print(repr(x).rjust(2), repr(x*x).rjust(3), end=' ')<br />
... print(repr(x*x*x).rjust(4))<br />
...<br />
1 1 1<br />
2 4 8<br />
3 9 27<br />
4 16 64<br />
5 25 125<br />
6 36 216<br />
7 49 343<br />
8 64 512<br />
9 81 729<br />
10 100 1000<br />
<br />
>>> for x in range(1, 11):<br />
... print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))<br />
...<br />
1 1 1<br />
2 4 8<br />
3 9 27<br />
4 16 64<br />
5 25 125<br />
6 36 216<br />
7 49 343<br />
8 64 512<br />
9 81 729<br />
10 100 1000<br />
</syntaxhighlight>لاحظ إضافة مسافة بيضاء واحدة في المثال الأول بين كل عمود بواسطة الدالة <code>print()</code>. تضيف هذه الدالة المسافات البيضاء بين وسائطها بصورة افتراضية).<br />
<br />
يوضح المثال السابق طريقة استخدام التابع <code>str.rjust()</code> الخاص بكائنات السلاسل النصية، والذي يعمل على محاذاة السلسلة النصية في حقل ذي عرض محدّد إلى جهة اليمين وذلك بإضافة المسافات البيضاء إلى يسار السلسلة، وهناك تابعان آخران مماثلان هما <code>str.ljust()</code> لمحاذاة السلاسل النصية إلى اليسار و<code>str.center()</code> لمحاذاتها وسطيًّا. <br />
<br />
لا تكتب هذه التوابع أيّ شيء، وإنّما تعيد سلسلة نصية جديدة، وإن كانت [[Python/str|السلسلة النصية]] المدخلة طويلة جدًّا لن تقوم هذه التوابع بتقصير [[Python/str|السلسلة النصية]] ممّا قد يخلّ بترتيب الأعمدة، وهو الخيار الأفضل مقارنة بتغيير القيمة الحقيقية. (إن كنت ترغب في تقصير السلاسل يمكن إضافة عامل الاقتطاع مثل: <code>x.ljust(n)[:n]</code>).<br />
<br />
هناك تابع آخر هو <code>st.zfill()</code> ووظيفته إزاحة [[Python/str|السلاسل النصية]] المتكونة من أرقام إلى جهة اليسار باستخدام الأصفار، ويمكن لهذا التابع أن يتعامل مع الأعداد الموجبة والسالبة:<syntaxhighlight lang="python3"><br />
>>> '12'.zfill(5)<br />
'00012'<br />
>>> '-3.14'.zfill(7)<br />
'-003.14'<br />
>>> '3.14159265359'.zfill(5)<br />
'3.14159265359'<br />
</syntaxhighlight>يمكن استخدام التابع <code>str.format()</code> بالطريقة التالية:<syntaxhighlight lang="python3"><br />
>>> print('We are the {} who say "{}!"'.format('knights', 'Ni'))<br />
We are the knights who say "Ni!"<br />
</syntaxhighlight>تستبدل الأقواس والأحرف التي بداخلها (والتي تدعى بحقول التنسيق) بالكائنات الممررة إلى التابع <code>str.format()</code>. ويمكن استخدام رقم داخل القوس للإشارة إلى موقع الكائن الممرّر في التابع <code>str.format()</code>:<syntaxhighlight lang="python3"><br />
>>> print('{0} and {1}'.format('spam', 'eggs'))<br />
spam and eggs<br />
>>> print('{1} and {0}'.format('spam', 'eggs'))<br />
eggs and spam<br />
<br />
</syntaxhighlight>يمكن أيضًا استخدام الوسائط المفتاحية (keyword arguments) في التابع <code>str.format()</code> ويمكن الإشارة إلى قيمها باستخدام اسم الوسيط:<syntaxhighlight lang="python3"><br />
>>> print('This {food} is {adjective}.'.format(<br />
... food='spam', adjective='absolutely horrible'))<br />
This spam is absolutely horrible.<br />
<br />
</syntaxhighlight>يمكن أيضًا استخدام الوسائط المفتاحية والموضعية في نفس الوقت وحسب الحاجة:<syntaxhighlight lang="python3"><br />
>>> print('The story of {0}, {1}, and {other}.'.format('Bill', 'Manfred', other='Georg'))<br />
The story of Bill, Manfred, and Georg.<br />
</syntaxhighlight>يمكن استخدام الوسيط <code>'!a'</code> (تطبيق الدالة <code>ascii()</code>) و <code>'!s'</code> (تطبيق الدالة <code>str()</code>) و <code>'!r'</code> (تطبيق الدالة <code>repr()</code>) لتحويل القيم قبل تنسيقها:<syntaxhighlight lang="python3"><br />
>>> contents = 'eels'<br />
>>> print('My hovercraft is full of {}.'.format(contents))<br />
My hovercraft is full of eels.<br />
>>> print('My hovercraft is full of {!r}.'.format(contents))<br />
My hovercraft is full of 'eels'.<br />
</syntaxhighlight>يمكن استخدام الوسيط الاختياري <code>':'</code> ومحدّد التنسيق (format specifier) بعد اسم الحقل، ويتيح هذه المزيد من التحكّم في القيمة المنسّقة. في المثال التالي تقرّب قيمة العدد <code>Pi</code> إلى ثلاث مراتب بعد الفاصلة العشرية:<syntaxhighlight lang="python3"><br />
>>> import math<br />
>>> print('The value of PI is approximately {0:.3f}.'.format(math.pi))<br />
The value of PI is approximately 3.142.<br />
</syntaxhighlight>يؤدي تمرير [[Python/int|عدد صحيح]] بعد الوسيط ':' إلى تغيير عرض الحقل إلى العدد المحدّد، ويساعد هذا الأمر في جعل الجداول أكثر ترتيبًا:<syntaxhighlight lang="python3"><br />
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}<br />
>>> for name, phone in table.items():<br />
... print('{0:10} ==> {1:10d}'.format(name, phone))<br />
...<br />
Jack ==> 4098<br />
Dcab ==> 7678<br />
Sjoerd ==> 4127<br />
<br />
</syntaxhighlight>إن كان [[Python/str|السلسلة النصية]] طويلة ولا ترغب في تقطيعها، سيكون من الأفضل أن تشير إلى المتغير الذي ترغب في تنسيقه بواسطة اسمه لا بواسطة موقعه. يمكن القيام بذلك عن طريق تمرير [[Python/dict|القاموس]] واستخدام الأقواس المربعة <code>'[]'</code> للوصول إلى المفاتيح:<syntaxhighlight lang="python3"><br />
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}<br />
>>> print('Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; '<br />
... 'Dcab: {0[Dcab]:d}'.format(table))<br />
Jack: 4098; Sjoerd: 4127; Dcab: 8637678<br />
</syntaxhighlight>يمكن القيام بذلك أيضًا عن طريق تمرير الجدول كوسيط مفتاحي مع إضافة الرمز <code>'**'</code>:<syntaxhighlight lang="python3"><br />
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}<br />
>>> print('Jack: {Jack:d}; Sjoerd: {Sjoerd:d}; Dcab: {Dcab:d}'.format(**table))<br />
Jack: 4098; Sjoerd: 4127; Dcab: 8637678<br />
</syntaxhighlight>هذه الطريقة مفيدة للغاية مع الدالة الداخلية <code>vars()</code> والتي تعيد قاموسًا يحتوي على جميع المتغيرات المحلية. <br />
<br />
للاطلاع بصورة أوسع على تنسيق [[Python/str|السلاسل النصية]] باستخدام التابع <code>str.format()</code> راجع قسم صيغة تنسيق [[Python/str|السلاسل النصية]].<br />
<br />
== طريق التنسيق القديمة ==<br />
يمكن استخدام العامل <code>%</code> لتنسيق [[Python/str|السلاسل النصية]]، إذ يفسّر هذا العامل الأيسر والذي يشبه سلسلة تنسيق نصية بنفس نمط السلاسل المستخدمة في <code>sprintf()</code> وتطبيقها على الوسيط الأيمن، وإعادة [[Python/str|السلسلة النصية]] الناتجة من عملية التنسيق هذه. يوضح المثال التالي طريقة عمل هذا العامل:<syntaxhighlight lang="python3"><br />
>>> import math<br />
>>> print('The value of PI is approximately %5.3f.' % math.pi)<br />
The value of PI is approximately 3.142.<br />
</syntaxhighlight>يمكن الحصول على المزيد من المعلومات في قسم [[Python/printf-style|نمط <code>printf</code> لتنسيق السلاسل النصية]].<br />
<br />
== مصادر ==<br />
صفحة [https://docs.python.org/3/tutorial/inputoutput.html Input and Output] في توثيق بايثون الرسمي.<br />
[[تصنيف:Python]]<br />
[[تصنيف:Python Input and Output]]</div>
Mohammed Taher