الدالة print()
في بايثون
تطبع الدّالة print()
الكائنات المُعطاة. تُفصَل القيم المطبوعة بقيمة المُعامل sep
وتُتبع بقيمة المُعامل end
.
البنية العامة
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
المعاملات
objects
مُعامل اختياريّ يُمثّل الكائنات التّي ستُطبع.
تُحوّل الكائنات إلى سلاسل نصيّة كما تفعل الدّالة str()
قبل كتابتها إلى التّيار file
مفصولة بالفاصل sep
ومتبوعة باللاحقة end
.
sep
مُعامل كلمة مفتاحيّة (يجب عليك تمرير اسم المُعامل مع قيمته). وهو مُعامل اختياريّ.
السّلسلةَ النّصيّة التّي ستَفصِل بين كلّ كائن من الكائنات التي ستُطبع. القيمة الافتراضيّة هي مسافة واحدة.
end
مُعامل كلمة مفتاحيّة. وهو مُعامل اختياريّ.
السّلسلةَ النّصيّة التي سينتهي بها المُخرَج. القيمة الافتراضيّة هي محرف الأسطر الجديدة '\n'
.
إن لم تُعط أيّة قيمة للمُعامل objects
فستُطبع قيمة end
فقط.
file
مُعامل كلمة مفتاحيّة. وهو مُعامل اختياريّ.
تيّار النّصوص (text stream) الذي ستُطبع إليه الكائنات، القيمة الافتراضيّة هي sys.stdout
.
يجب على قيمته أن تكون كائنًا يحتوي على تابعٍ write(string)
يقبل سلسلة نصيّة كمُعامل.
ولأنّ القيم التي ستُطبع تُحوّل إلى سلاسل نصيّة، فلا يُمكن استخدام الدّالة print()
مع كائنات الملفّات ذات الوضع الثّنائي (binary mode file objects). لذا استخدم التّابع file.write(…)
عوضًا عنها.
عادة ما تُحدّد قيمة المُعامل file
ما إن كان المُخرَج سيُخزّن في التّخزين الانتقالي (buffer) أو لا.
flush
مُعامل كلمة مفتاحيّة.وهو مُعامل اختياريّ.
يُحدّد ما إذا كان التّيار سيُخرَج من التّخزين الانتقاليّ للنّظام أو لا. القيمة الافتراضيّة هي False
مرّر القيمة True
لإخراجه.
القيمة المعادة
القيمة None
.
أمثلة
المثال التّالي يوضّح كيفيّة عمل هذه الدّالة:
>>> print() # لا مُعاملات
>>> print('A', 'A', sep='!') # طباعة سلسلتين نصيّتين مع فصلهما بعلامة تعجّب
A!A
>>> print('A', 'A', sep='!', end='|\n') # إنهاء القيمة المطبوعة بفاصل عمودي وسطر جديد
A!A|
ملاحظات
يُمكن كذلك أن تكون قيمة كلّ من المُعامل sep
والمُعامل end
والمُعامل file
القيمةَ None
والتي تعني أنّ القيم الافتراضيّة هي التي ستُستخدم.