ترکیب عدد و رشته
فرض کن بخوایم یک و عدد و یک رشته رو کنار هم قرار بدیم. از اونجایی که عدد می تونه درون رشته هم قرار بگیره پس یه راه حل اینه:
اما شاید بخوایم عدد و رشته رو جداگونه به هم بچسبونیم و چاپ کنیم. توی عملیات رشتهای جمع کردن دوتا رشته با هم مجاز بود و اونا رو به هم میچسبوند. بنظرت جمع یک عدد و رشته هم اونا رو به هم میچسبونه؟
کدوم یک از عبارات زیر میتونه یک رشته و یک عدد رو کنار هم چاپ کنه؟
آفریییین!!! بیا بهت بگم چرا.
متاسفم. بیا بهت بگم چرا.
تو پایتون فقط میشه دادههای هم جنس رو با هم جمع کرد. یعنی رشته با رشته جمع میشه و عدد هم با عدد. البته جمع کردن در رشته به معنی چسبیدنه و در اعداد به معنی جمع مقادیره. جمع یک عدد و یک رشته امکانپذیر نیست و در صورت انجام اینکار به خطای نحوی میخوریم.
البته برای رفع این مشکل یه راهکار ساده وجود داره و اونم استفاده از کاماست. اگر بین یک رشته و یک عدد کاما بذاریم اونا کنار هم دیگه در یک خط و با یک فاصله (space) از هم چاپ میشن. مثال زیر رو اجرا کن.
بریم یه چنتا مثال ببینیم. به نظرت خروجی این کد چیه؟ مثل همیشه قبل از اجرای کد اول خودت بهش فکر کن.
همونطور که گفتیم جمع دو رشته اونا رو بهم میچسبونه، فرقی هم نمیکنه تو رشته عدد باشه یا متن! خب نظرت راجع به کد بعدی چیه؟
این خروجی نشون میده که چه تعداد صفحه در مرورگر باز شده: 99 tabs are open
کدوم یک از دستورات زیر نمیتونه این خروجی رو تولید کنه و به خطا میخوره؟
- گزینه اول درسته چون دو تا رشته میتونن با هم جمع بشن.
- گزینه دوم غلطه چون یک رشته و یک عدد نمیتونن با هم جمع بشن.
- گزینه سوم درسته چون یک رشته و یک عدد رو میشه با کاما به هم متصل کرد.
- گزینه چهارم درسته چون یک رشته عادیه و هرچیزی که در رشته باشه عینا چاپ میشه.
تو این بخش دیدیم چهجوری میشه عدد و رشته رو کنار هم قرار داد. فهمیدیم اینکار به کمک عملگر کاما انجام میشه نه عملگر جمع!