المقال الاصلي بكتابة 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 هو:
يتكوّن الرمز من حرفين:
- شرطة مائلة للخلف (Backslash).
- الحرف
n
.
إذا رأيت هذا الرمز في ال String ، فهذا يعني أن السطر الحالي ينتهي عند تلك النقطة ويبدأ سطر جديد بعدها مباشرةً:
يمكنك أيضًا استخدام الرمز نفسه مع f-strings.
>>> print(f"Hello\nWorld!")
🔸 رمز سطر جديد (New Line Character) في تعليمات الطباعة
تقوم اوامر الطباعة (Print Statements) بإضافة رمز سطر جديد (New Line Character) بشكل تلقائي "خلف الكواليس" في نهاية ال String.
على النحو التالي:
وفقًا لـ Python Documentation فإن السبب يرجع إلى:
إن القيمة الافتراضية (default value) لمعلمة (Parameter) end
لأمر الطباعة print
هي \n
، لذا فيتم إلحاق رمز سطر جديد (New Line Character) بنهاية ال String.
💡 نصيحة. يٌقصد بـ "إلحاق" الإضافة إلى آخر السطر.
هذا هو تعريف دالة print
:
لاحظ أن قيمة end
هي \n
، لذا فيتم إضافة \n
إلى نهاية ال String.
إذا كنت تستخدم أمر طباعة (Print statement) واحد فقط ، فلن تلاحظ ذلك لأنه سيتم طباعة سطر واحد فقط:
لكن إذا استخدمت عدة أوامر طباعة (Print statements) واحدة تلو الأخرى في نص برمجي بلغة Python:
ستتم طباعة الناتج في سطور منفصلة نظرًا لإضافة \n
"خلف الكواليس" إلى نهاية كل سطر:
🔹 كيفية الطباعة بدون إضافة سطر جديد
يمكننا تغيير هذا السلوك الافتراضي عن طريق تخصيص قيمة المعلمة (Parameter) end
لوظيفة print
.
إذا استخدمنا القيمة الافتراضية في هذا المثال:
نرى الناتج مطبوعًا في سطرين:
ولكن إذا قمنا بتخصيص قيمة end
وضبطناها على " "
ستتم إضافة مسافة إلى نهاية ال String بدلاً من رمز سطر جديد (New Line Character) \n
، لذلك سيتم عرض ناتج طباعة الجملتين في نفس السطر:
يمكنك استخدام هذا لطباعة سلسلة من القيم في سطر واحد، كما في هذا المثال:
الناتج هو:
💡 نصيحة. نضيف عبارة شرطية (conditional statement) للتأكد من عدم إضافة الفاصلة إلى الرقم الأخير من التسلسل.
وبالمثل، يمكننا استخدام هذا لطباعة قيم قابلة للتكرار في نفس السطر:
الناتج هو:
🔸 رمز سطر جديد (New Line Character) في الملفات
يوجد رمز سطر جديد (New Line Character) \n
أيضًا في الملفات، ولكنه "مخفي". عندما ترى سطرًا جديدًا في ملف نصي ، فقد تم إدراج رمز سطر جديد \n
.
يمكنك الإطلاع على ذلك عن طريق قراءة الملف بإستخدام <file>.readlines()
، على النحو التالي:
with open("names.txt", "r") as f:
print(f.readlines())
الناتج هو:
كما ترى ، تنتهي الأسطر الثلاثة الأولى من الملف النصي برمز سطر جديد (New Line Character) \n
يعمل "خلف الكواليس".
💡 نصيحة. لاحظ أن السطر الأخير فقط من الملف لا ينتهي برمز سطر جديد (New Line Character).
🔹 الخلاصة
- رمز سطر جديد (New Line Character) في Python هو
\n
. يتم استخدامة للإشارة إلى نهاية سطر نصّي. - يمكنك طباعة ال Strings دون إضافة سطر جديد مع
end = <character>
، وهذا الرمز المُشار إليهcharacter
سيتم استخدامه لفصل السطور.