دستور print در پایتون و نحوه استفاده از عملگرهای مختلف در آن
مقدمه
در جلسه امروز از آموزش پایتون قصد داریم یکی از مباحث مهم و کلیدی و البته ساده را با یکدگیر یاد بگیریم. بحث امروز مربوط دستور print در پایتون می باشد. البته این دستور در عین سادگی مباحث پیچیده ای نیز دارد و ما سعی میکنیم که مقدمات آن را تا حدود بسیار خوبی بررسی کنیم.
قبل از هر چیز لازم است که پایتون بر روی سیستم شما نصب باشد. اگر از سیستم عامل های لینوکس و یا Mac OS استفاده میکنید که پایتون از قبل نصب شده است اما اگر از ویندوز استفاده می کنید نیاز است تا آن را نصب کنید. در جلسه زیر ما نحوه نصب پایتون در ویندوز را با یکدیگر مرور کردیم :
دستور print در پایتون و نحوه استفاده از آن
دستور print همانطور که از نامش مشخص است برای چاپ کردن یک عبارت یا نوشته یا هر چیزی در خروجی کاربرد دارد. یعنی اگر ما میخواهیم مقدار یک متغیر را ببینیم و یا خروجی برنامه خود را مشاهده کنیم میتوانیم از دستور print استفاده کنیم.
البته کاربرد دستور print در پایتون به این موضوع خلاصه نمی شود. در واقع یکی از کاربردهای این دستور در Debug کردن برنامه می باشد. به کمک این دستور میتوانیم بفهمیم که کدی که درست کار نمی کند ، ایرادش از کجاست. کافی است در محل های مختلف برنامه از دستور print استفاده کنیم و ببینیم که برنامه وارد کدام یک از حلقه های تکرار و یا دستورات شرطی نمی شود.
دستور print در پایتون بر خلاف بسیاری از دستورات این زبان نیاز به ماژولی خاصی برای import کردن ندارد و صرفا با نوشتن print میتوانیم از آن استفاده کنیم. (اگر با مفهوم مازول و یا import کردن آشنا نیستید اصلا نگران نباشید. در جلسات آینده در مورد آنها بحث خواهیم کرد.)
استفاده از دستور print :
Syntax مربوط به دستور print در پایتون چیزی شبیه به شکل زیر است :
عبارتی که داخل پرانتز آورده شده است میتواند ابتدا و انتهایش با ‘(single quote ) باشد و یا از ” (double quote) استفاده شود. در هر دو صورت نتیجه یکسان می باشد. مثلا اگر بخواهیم I am ali در خروجی نمایش داده شود کافی است بنویسیم :
print("I am ali")
و یا بنویسیم :
print('I am ali')
در هر دو صورت عبارت I am ali در خروجی نشان داده می شود.
اما خوبی استفاده از این دو علامت برای دستور print در پایتون چیست ؟ بیایید این موضوع را با یک مثال یاد بگیریم :
فرض کنید میخواهیم عبارت زیر را در خروجی چاپ کنیم :
I’m ali
اگر دستور print را به صورت زیر بنویسیم :
print('I'm ali')
و آن را اجرا کنیم با خطا روبرو خواهیم شد. (خودتان این کار را انجام دهید و نتیجه را مشاهده کنید.) . علت این است که ما یک بار از ‘ در ابتدا خط استفاده کرده ایم و پایتون خیال می کند که ‘ که در کلمه I’m استفاده شده است ‘ انتهایی می باشد و انتظار ندارد که بعد از آن حرف یا نوشته ای قرار بگیرد و به همین خاطر با اشتباه روبرو می شود و خطای syntax یا گرامری از ما گرفته می شود. اما راه حل چیست ؟
راه حل استفاده از ” می باشد. در واقع هر وقت ما ورودی تابع print را با ” شروع می کنیم پایتون انتظار دارد که با ” هم آن ورودی به پایان برسد. حال اگر از I’m استفاده کنیم دیگر با مشکل مربوط به عدم تشخیص ‘ روبرو نمی شود و خود کلمه I’m را چاپ می کند. چون پایتون انتظار دارد آخرین بخش رشته ورودی ” باشد.
همین موضوع دقیقا برای ” نیز برقرار می باشد. اگر بخواهیم از ” در خود رشته ورودی استفاده کنیم کافی است ابتدا و انتهای رشته را با ‘ شروع کنیم و پایان دهیم.
[av_toggle_container initial=’0′ mode=’accordion’ sort=” av_uid=’av-10x2brz’] [av_toggle title=’برای مطالعه بیشتر : ‘ tags=” av_uid=’av-t89wn3’]راه دیگری نیز وجود دارد که ما بتوانیم جمله I’m ali را بدون استفاده از ” بنویسیم. این راه استفاده از / (back slash) می باشد. در واقع در رشته ورودی هر جا / بود پایتون می فهمد که حرف بعدی یک حرف خاص نمی باشد و صرفا جزیی از جمله است. در واقع برای پایتون ‘ و ” خاص می باشند و نیاز است به پایتون بفهمانیم که در کلمه I’m حرف ‘ خاص نمی باشد. برای این کار کافی است قبل از ‘ از \ استفاده کنیم. با این کار I’m به درستی نمایش داده می شود و \ نیز در خروجی نشان داده نمی شود. در واقع اگر این جمله را به صورت زیر بنویسیم :
print('I\'m ali')
در این صورت عبارت I am ali در خروجی نشان داده می شود.
البته مباحث دیگری نیز در اینجا مطرح می شود مثل این سوال که اگر بخواهیم خود \ را در خروجی چاپ کنیم باید چکار کرد. از آنجا که در جلسات ابتدایی هستیم سعی میکنیم پیچیدگی های زیاد را مطرح نکنیم و روش های بهتر و مناسب تر معرفی شود. اما هر جا که نیاز به دانستن دقیق این موضوع یا موضوعات مشابه وجود داشت ، به صورت کامل بحث مطرح خواهد شد. [/av_toggle] [/av_toggle_container]
چسباندن رشته ها به یکدیگر
برای چسباندن دو رشته به یکدیگر راه های مختلفی وجود دارد که در زیر برخی از آنها بررسی شده اند :
1- استفاده از علامت + :
یکی از موارد کاربردی در پایتون استفاده از علامت + بین رشته ها است. در واقع به کمک این علامت ، دو رشته به یکدگیر چسبیده می شوند و به عنوان یک رشته در نظر گرفته می شود. مثال زیر را ببینید :
print("I am ali"+" and I love football")
با اجرای کد بالا عبارت زیر در خروجی نشان داده می شود.
I am ali and I love football
توجه کنید که قسمت اول و دوم حتما بابید رشته باشند تا بتوانید از علامت + استفاده کنید و اگر بخواهید یک رشته را با یک عدد جمع کنید با خطا روبرو خواهید شد. (این کار را انجام دهید و ببینید که با چه خطایی روبرو می شوید و سعی کنید آن را تحلیل کنید.)
2- استفاده از علامت ,
با کمک , نیز میتوانید دو رشته را به یکدیگر بچسبانید. تفاوت این حالت با + این است که خود , نقش یک فاصله را بازی می کند و بین رشته اول و دوم یک فاصله می اندازد در حالی که علامت + صرفا دو رشته را بدون هیچ کار اضافی به یکدیگر متصل می کند.
یکی از مزایای استفاده از , این است که میتوانیم اعداد و رشته ها را با هم در یک جمله چاپ کنیم. در واقع لازم نیست که بخش اول و دوم (و هر چند بخش دیگر) صرفا رشته باشند و میتوانند اعداد نیز باشند. مثال زیر را ببینید :
print("I am ali","and I love football")
تبدیل انواع داده ها به یکدیگر
همانطور که در بالا دیدید نمیتوانستیم عبارتی که یک رشته با یک عدد جمع می شد را در خروجی چاپ کنیم. حال فرض کنید میخواهیم عبارت نتیجه عبارت ‘8’ + 5 در خروجی نشان داده شود. واضح است که با این که بخش دوم یک عدد می باشد ولی درون ‘ قرار گرفته است و پایتون آن را یک رشته می بینید و باز هم با خطا مواجه می شویم. اما اگر بخواهیم یک عدد را که به صورت یک رشته در آمده است ، به صورت یک عدد ببینیم و مثل یک عدد از آن استفاده کنیم ، در این صورت باید از تبدیل داده ها استفاده کنیم. یعنی بتوانیم یک رشته را به یک عدد صحیح ، یک عدد صحیح را به یک عدد اعشاری و …. تبدیل کنیم. در پایتون توابعی به این منظور در نظر گرفته شده است. مهمترین این توابع به صورت زیر می باشد:
1- تابع str : با کمک این تابع میتوانیم ورودی تابع را (که مثلا یک عدد می باشد) به یک رشته تبدیل کنیم. مثال زیر را ببینید :
print(str(8))
در این مثال عدد 8 به رشته 8 تبدیل شده است و سپس در خروجی نمایش داده شده است.
2- تابع int : با این تابع در صورتی که ورودی تابع یک عدد باشد که به صورت رشته در آمده است ، میتوان رشته مربوطه را به عدد تبدیل کنیم. مثال زیر این موضوع را نشان می دهد :
print(int('5')+8)
در مثال بالا رشته 5 به عدد 5 تبدیل شده است و سپس با 8 جمع شده است و نتیجه در خروجی نشان داده می شود. نتیجه کد بالا چاپ عدد 13 می باشد. (حتما خودتان نیز این کد را بنویسید و نتیجه را ببینید.)
3- تابع float : به کمک این تابع میتوانیم ورودی خود را به float تبدیل کنیم. این ورودی میتواند یک عدد صحیح باشد که در این صورت مثلا اگر ورودی 8 باشد ، خروجی این تابع 8.0 می باشد. اگر هم ورودی رشته 8 باشد خروجی عدد 8.0 می باشد. مثال زیر این موضوع را نشان می دهد:
print(float('8'))
در مثال بالا رشته 8 به عدد اعشاری 8 تبدیل می شود و در خروجی نشان داده می شود. نتیجه اجرای کد بالا 8.0 می باشد که یک عدد اعشاری می باشد.
خوب دوستان به پایان این جلسه رسیدیم. قبل از پایان جلسه حتما تمرینات زیر را انجام دهید. بدون انجام این تمرینات عملا خواندن این جلسه هیچ فایده ای نداشته است.
سوال 1: عبارت زیر را در ویرایشگر خود بنویسید و آن را چاپ کنید و ببینید که با چه خطایی روبرو می شود :
print('1'+2)
حال عبارت زیر را در ویرایشگر خود بنویسید:
print(1+'2')
و بار دیگر خطا را مشاهده کنید. آیا این دو خطا با یکدیگر متفاوت هستید ؟ سعی کنید هر دو خطا را درک کنید و توضیح دهید که چرا این دو خطا با یکدیگر متفاوت هستند؟
سوال 2 : ادیتور خود را باز کنید و چک کنید که خروجی عبارت زیر چیست ؟
print('salam '*10)
حال با توجه به خروجی بالا تحقیق کنید که عملگر * در رشته ها چه کاری را انجام می دهد ؟
سوال 3 : یک فایل جدید باز کنید و آن را با نام input.py ذخیره کنید.
با دستور input میتوانیم از کاربر بخواهیم که برای ما عبارتی را وارد کند. مثلا اگر در فایل خود بنویسیم :
my_str = input("please enter any thing: ")
و آن را اجرا کنیم برنامه منتظر می ماند تا ما عبارتی وارد کنیم و سپس آن را در my_str میریزد. توجه کنید که این عبارت (حتی اگر کاربر یک عدد وارد کند) یک رشته است و اگر میخواهیم آن را به یک عدد صحیح تبدیل کنیم باید از تابع int استفاده کنیم.
با توجه به توضیحات بالا در همان فایل برنامه ای بنویسید که نام کاربر از ورودی گرفته شود و سپس عبارت” نام کاربر your name is ” در خروجی نمایش داده شود.
برای اطلاع از جلسات جدید منتشر شده ،میتوانید ما را در تلگرام و یا اینستاگرام دنبال کنید:
دیدگاهتان را بنویسید