المقال الاصلي بكتابة Estefania Cassingena Navone

تمت الترجمة بواسطة Tamer Saleh

مرحبًا! يتم استخدام رمز سطر جديد (New Line Character) في Python لتحديد نهاية السطر وبداية سطر جديد. معرفة كيفية استخدامه أمر ضروري إذا كنت تريد طباعة الناتج إلى وحدة التحكم (Console) والعمل مع الملفات.

ستتعلم التالي في هذا المقال :

  • كيفية التعرف على رمز سطر جديد (New Line Character) في Python.
  • كيف يمكن استخدام رمز سطر جديد (New Line Character) في ال Strings و اوامر الطباعة (Print Statements).
  • كيف يمكنك كتابة اوامر الطباعة (Print Statements) التي لا تضيف رمز سطر جديد (New Line Character) إلى نهاية ال String.

فلنبدأ !

🔹 رمز السطر الجديد (New Line Character)

رمز السطر الجديد (New Line Character) في Python هو:

image-142

يتكوّن الرمز من حرفين:

  • شرطة مائلة للخلف (Backslash).
  • الحرف n.

إذا رأيت هذا الرمز في ال String ، فهذا يعني أن السطر الحالي ينتهي عند تلك النقطة ويبدأ سطر جديد بعدها مباشرةً:

image-224

يمكنك أيضًا استخدام الرمز نفسه مع f-strings.

>>> print(f"Hello\nWorld!")

🔸 رمز سطر جديد (New Line Character) في تعليمات الطباعة

تقوم اوامر الطباعة (Print Statements) بإضافة رمز سطر جديد (New Line Character) بشكل تلقائي "خلف الكواليس" في نهاية ال String.

على النحو التالي:

image-145

وفقًا لـ Python Documentation فإن السبب يرجع إلى:

إن القيمة الافتراضية (default value) لمعلمة (Parameter) end لأمر الطباعة print هي \n ، لذا فيتم إلحاق رمز سطر جديد (New Line Character) بنهاية ال String.

💡 نصيحة. يٌقصد بـ "إلحاق" الإضافة إلى آخر السطر.

هذا هو تعريف دالة print:

image-146

لاحظ أن قيمة end هي \n ، لذا فيتم إضافة \n إلى نهاية ال String.

إذا كنت تستخدم أمر طباعة (Print statement) واحد فقط ، فلن تلاحظ ذلك لأنه سيتم طباعة سطر واحد فقط:

image-147

لكن إذا استخدمت عدة أوامر طباعة (Print statements) واحدة تلو الأخرى في نص برمجي بلغة Python:

image-214

ستتم طباعة الناتج في سطور منفصلة نظرًا لإضافة \n "خلف الكواليس" إلى نهاية كل سطر:

image-218

🔹 كيفية الطباعة بدون إضافة سطر جديد

يمكننا تغيير هذا السلوك الافتراضي عن طريق تخصيص قيمة المعلمة (Parameter) end لوظيفة print.

إذا استخدمنا القيمة الافتراضية في هذا المثال:

image-219

نرى الناتج مطبوعًا في سطرين:

image-221

ولكن إذا قمنا بتخصيص قيمة end وضبطناها على " "

image-222

ستتم إضافة مسافة إلى نهاية ال String بدلاً من رمز سطر جديد (New Line Character) \n ، لذلك سيتم عرض ناتج طباعة الجملتين في نفس السطر:

image-223

يمكنك استخدام هذا لطباعة سلسلة من القيم في سطر واحد، كما في هذا المثال:

image-210

الناتج هو:

image-211

💡 نصيحة. نضيف عبارة شرطية (conditional statement) للتأكد من عدم إضافة الفاصلة إلى الرقم الأخير من التسلسل.

وبالمثل، يمكننا استخدام هذا لطباعة قيم قابلة للتكرار في نفس السطر:

image-225

الناتج هو:

image-213

🔸 رمز سطر جديد (New Line Character) في الملفات

يوجد رمز سطر جديد (New Line Character) \n أيضًا في الملفات، ولكنه "مخفي". عندما ترى سطرًا جديدًا في ملف نصي ، فقد تم إدراج رمز سطر جديد \n.

image-150

يمكنك الإطلاع على ذلك عن طريق قراءة الملف بإستخدام <file>.readlines()، على النحو التالي:

with open("names.txt", "r") as f:
    print(f.readlines())

الناتج هو:

image-207

كما ترى ، تنتهي الأسطر الثلاثة الأولى من الملف النصي برمز سطر جديد (New Line Character) \n يعمل "خلف الكواليس".

💡 نصيحة. لاحظ أن السطر الأخير فقط من الملف لا ينتهي برمز سطر جديد (New Line Character).

🔹 الخلاصة

  • رمز سطر جديد (New Line Character) في Python هو \n. يتم استخدامة للإشارة إلى نهاية سطر نصّي.
  • يمكنك طباعة ال Strings دون إضافة سطر جديد مع end = <character>، وهذا الرمز المُشار إليه character سيتم استخدامه لفصل السطور.