تابع print و پایتون۳
توسط: vahit
در نسخهی ۳ زبان پایتون دستور print به تابع ()print تغییر پیدا کرده و برای استفاده از اون باید آرگومانها رو همانند بقیه توابع داخل پرانتز براش ارسال کنیم. امّا این همهی تغییرات نیست، اگر با زبان C و اقوام ایشون کد زده باشید حتماً میدونید که میشه با دستور printf مکاننما رو انتهای خط نگهداشت تا دستور بعدی print از ادامهی همون خط بتونه عمل چاپ رو انجام بده. ولی ما توی پایتون همچین دستوری نداریم، به قطعه کد زیر توجه کنید:
1 2 3 4 5 6 7 8 |
>>> for i in (0,1,2,3): ... print(i) ... 0 1 2 3 >>> |
اگر شما هم میخواین مکاننما رو روی همون خط نگه دارین لازم نیست کار خاصی انجام بدین، از جمله مزایای تابع print اینه که یه آرگومان اختیاری داره که میشه باهاش تعیین کرد در انتهای کار چاپ چه کاراکتر/عبارتی چاپ بشه که مقدار پیشفرض این آرگومان برابر “\n” هست. خب پس باید الان بتونید حدس بزنید چرا در قطعه کد بالا هر مقدار متغیر i در یک خط چاپ شده؟! :)
برای استفاده از این آرگومان هم لازم نیست کار خاصی انجام بدیم، فقط کافیه مثه بقیه آرگومانها بهش مقدار بدیم. قطعه کد زیر همون قطعه کد بالاست که بهینه شده:
1 2 3 4 |
>>> for i in (0,1,2,3): ... print(i, end=" ") ... 0 1 2 3 >>> |
یه سؤال دیگه :)
حتماً میدونید که هنگام چاپ چندین مقدار با یک دستور print، بین مقادیر کاراکتر ” “(space) چاپ میشه، آیا تا حا لازم داشتین که این کارکتر رو عوض کنید؟
اگر آره، خب الان کارتون راحت شده چون تابع print برای این گزینه هم یه آرگومان اختیاری دیگه داره. اسمش sep هست که میشه حدس زد از کلمهی separator میاد یعنی همون «جدا کننده». خب با این تفاسیر فهمیدنش آسونه که مقدار پیشفرض این آرگومان هم کاراکتر ” ” هست. فکر نمیکنم نحوهی استفاده ازش نیازی به توضیح داشته باشه، مثال زیر کاملاً گویا هست:
1 2 3 |
>>> print("Hi", "Vahit", sep="..") Hi..Vahit >>> |
تغییرات تابع به این دو مورد ختم نمیشه و میتونید برای دیدن بقیه تغییرات از دستور help در محیط مفسر python3 استفاده کنید:
1 |
>>> help(print) |
مطلب رو به سادگی و روونی توضیح دادی، وبلاگت آرومه و این رو خیلی دوست دارم :دی :)
مرسی
separate توی متن باید به separator تغییر کنه.
ممنون از تذکر :)
سلام
مطلب خوبی بود.
ممنون