آموزش برنامه نویسی پایتون (قسمت چهارم: عملگرها)
در قسمت چهارم آموزش برنامه نویسی پایتون با اپراتورها آشنا خواهیم شد و به بررسی جزئیات کلیدی مربوط به آنها می پردازیم. تا کنون به مفاهیم کلی زبان های برنامه نویسی، تفاوت زبان های سطح بالا و سطح پایین، تفاوت مترجم ها و کامپایلرها، روش های مختلف اجرای یک برنامه، انواع خطاها، روش های برطرف کردن آنها و همچنین مقادیر، متغیرها و کلمات کلیدی که استفاده از آنها به عنوان یک متغیر در پایتون ممنوع است پرداخته ایم و به تدریج وارد بخش های اصلی تر برنامه نویسی پایتون خواهیم شد.
اپراتور (عملگر)
اپراتورها بنا به تعریف نمادهای ویژه ای به شمار می روند که نشان دهنده یک عمل محاسباتی در پایتون هستند. ضرب و جمع از جمله عمل های محاسباتی دارای اپراتور هستند و به مقداری که اپراتور بر روی آن عمل می کند عملوند یا اپراند (operand) گفته می شود. اپراتورها در پایتون عبارت اند از + (جمع)، – (تفریق)، * (ضرب)، / (تقسیم) و ** (توان). برای مثال می توان از اپراتورها به صورت های زیر استفاده کرد:
20+86 hour-1 hour*60+min 5**2 (5+4)*(3-1)
در نسخه دوم پایتون باید کمی درباره عملگر تقسیم دقت کنید. در این نسخه این قانون رعایت می شود که "نتیجه تقسیم یک عدد صحیح بر یک عدد صحیح دیگر باید حتما یک عدد صحیح باشد" و در نتیجه تقسیم 48 بر 50 (که جواب آن در حالت عادی باید 0.96 باشد) به صورت 0 گزارش داده می شود. در واقع در این حالت بخش اعشاری حذف می شود و عدد به صفر گرد خواهد شد. با این حال در پایتون 3 این مشکل حل شده و جواب چنین تقسیمی همان 0.96 که یک عبارت اعشاری از دسته float است خواهد بود. اینجا برای تقسیم و گرد کردن همزمان از عملگر // استفاده می شود.
عبارت ها و دستورات
یک عبارت ترکیبی از مقادیر، متغیرها و اپراتورهاست. حتی خود یک مقدار یا یک متغیر هم می توانند یک عبارت باشند. برای مثال 17 یک عبارت است، x هم یک عبارت است و x+17 هم یک عبارت خواهد بود.
از طرف دیگر مفهومی با عنوان دستور (statement) وجود دارد که توسط مترجم پایتون خوانده و اجرا می شود. برای مثال print که در برنامه اول از آن استفاده کردیم یک دستور است.
ترتیب اپراتورها
در پایتون هم درست مانند ریاضی، نمی توان از اپراتورها بدون حساب و قانون استفاده کرد. در زبان های برنامه نویسی به این حساب و کتاب "قانون تقدم" گفته می شود. در همه زبان های برنامه نویسی قانون تقدم به صورت مشابهی به کار گرفته می شود، به این ترتیب که پرانتزها بالاترین اولویت را دارند، پس از آن ضرب و تقسیم با اهمیت یکسان و در نهایت جمع و تفریق باز هم با اهمیت یکسان قرار دارند. ضمن اینکه در یک خط دستور عملگرهایی با اولویت یکسان به ترتیب از چپ به راست مورد اثر قرار می گیرند. به عنوان یک پیشنهاد بهتر است تا جایی که صورت کد پیچیده نمیشود به منظور جلوگیری از اشتباهات منطقی از پرانتزها برای جدا کردن دستورات استفاده کنید. برای بهتر روشن شدن موضوع می توانید مثال های زیر را که در پایتون به صورت تعاملی پاسخ داده شده اند (یعنی بلافاصله پس از نوشتن دستور پاسخ آنها در خط بعدی توسط پایتون محاسبه و نمایش داده می شود) مشاهده کنید:
(3-1) * 2 <<<
4
(1+1) ** (5-2) <<<
9
1 – 3 * 2 <<<
5
2 / 4 + 6 <<<
8
2 / 4 / 48 <<<
6
عملکردهای رشته ای
در حالت کلی نمی توانید از عملگرهای ریاضی روی متغیرهایی که به صورت رشته ای یا string تعریف شده اند استفاده کنید. در واقع نوشتن عبارتی مانند flower-flower یا water/blackboard بی معنی هستند. اما نکته استثنا در این مورد عملگرهای ضرب و جمع هستند. به این صورت که اگر از mobile+mobile استفاده کنید نتیجه شما mobilemobile خواهد بود و حاصل mobile*3 هم mobilemobilemobile است. همچنین باید به یاد داشته باشید که می توان اسم flower را به یک مقدار مانند 2 نسبت داد و بعد بدون مشکل از عملگرها استفاده کرد:
par = 2 <<<
tes = 5 <<<
par + tes <<<
7
کامنت ها
هر چقدر که برنامه نوشته شده توسط شما طولانی تر و پیچیده تر باشد، برای آنکه بعدا بتوانید بخش های مختلف آن را بررسی کنید و یا ببینید یک خط دستور قرار است کجا چه کاری انجام دهد باید از راهنمایی استفاده کنید. طبیعتا شما نمی توانید همه کد نوشته شده را چاپ کنید و بعد در موارد لازم روی کاغذ توضیحات را نوشته و دفتری که ایجاد می شود را همیشه همراهتان داشته باشید. در این موارد از دستوری به نام کامنت در پایتون استفاده می شود. کامنت ها در کد توسط کاربر قابل مشاهده هستند اما پایتون آنها را اجرا نمی کند. شما می توانید انتهای یک خط دستور یا در خط بالایی و پایینی یک بلوک دستور کامنت توضیحی قرار دهید. کامنت ها باید با علامت # در ابتدا شروع شوند. برای مثال:
this program is used for calculating two numbers #
2+3 <<<
5
همان طور که مشاهده می کنید خط اول یک کامنت است که به شما توضیح می دهد این برنامه برای جمع دو عدد نوشته شده و به دلیل داشتن علامت # توسط پایتون اجرا نمی شود. بدون هیچ نگرانی از تداخل دستورات، همین کار را می توانید در انتهای یک خط دستور هم انجام دهید.
در بخش بعدی وارد بحث توابع خواهیم شد و مفاهیم اولیه آنها را مرور می کنیم.
دسترسی به همه بخش های مجموعه آموزش برنامه نویسی پایتون