
روز ۳: عملگرها در پایتون
تا اینجا با متغیرها و نوع دادهها آشنا شدی و احتمالاً حس میکنی میتونی اطلاعات رو توی برنامه نگه داری. اما نگه داشتن بهتنهایی کافی نیست. برنامه نویسی زمانی معنا پیدا میکند که بتوانی روی دادهها عمل انجام بدهی، آنها را مقایسه کنی، تغییر بدهی و بر اساسشان تصمیم بگیری. اینجاست که عملگرها وارد صحنه میشوند. عملگرها ابزارهایی هستند که به برنامه اجازه میدهند فکر کند، محاسبه کند و نتیجه بگیرد. اگر متغیرها مثل کلمات باشند، عملگرها دقیقاً مثل فعلها عمل میکنند. بدون آنها، کد تو فقط یک سری اطلاعات بیحرکت است که هیچ کاری انجام نمیدهد.
عملگرهای ریاضی؛ پایهایترین ابزار محاسبه در پایتون
عملگرهای ریاضی اولین نوع عملگرهایی هستند که تقریباً همه با آنها احساس آشنایی میکنند. جمع، تفریق، ضرب و تقسیم چیزهایی نیستند که تازه یاد بگیریم، اما در برنامه نویسی باید بدانیم دقیقاً چه رفتاری دارند. پایتون این بخش را بسیار شفاف طراحی کرده و رفتار عملگرهای ریاضی در آن قابل پیشبینی است. نکته مهم این است که نوع دادهها روی نتیجه تأثیر میگذارند و همین موضوع باعث میشود درک دقیق این بخش ارزشمند باشد. وقتی روی اعداد کار میکنی، باید بدانی خروجی دقیقاً چه چیزی خواهد بود.
a = 10 b = 3 print(a + b) print(a - b) print(a * b) print(a / b)
در این مثال، تقسیم همیشه عدد اعشاری برمیگرداند، حتی اگر نتیجه به ظاهر عدد صحیح باشد. این رفتار آگاهانه است و باید آن را بشناسی.
تقسیم صحیح، باقیمانده و توان؛ جزئیاتی که تفاوت ایجاد میکنند
پایتون علاوه بر عملگرهای ریاضی پایه، چند ابزار خیلی کاربردی دیگر هم در اختیارت میگذارد که در پروژههای واقعی زیاد استفاده میشوند. تقسیم صحیح با //، باقیمانده با % و توان با ** به تو اجازه میدهند محاسبات دقیقتری انجام بدهی. این عملگرها مخصوصاً در الگوریتمها، حلقهها و محاسبات منطقی نقش مهمی دارند. اگر این بخش را جدی بگیری، بعداً خیلی راحتتر مسائل پیچیدهتر را حل میکنی.
x = 10 y = 3 print(x // y) print(x % y) print(x ** y)
اینجا میبینی که تقسیم صحیح فقط بخش صحیح نتیجه را نگه میدارد و باقیمانده کاملاً جداگانه محاسبه میشود.
عملگرهای مقایسهای؛ وقتی برنامه باید تصمیم بگیرد
تا اینجا فقط محاسبه کردیم، اما برنامه نویسی بدون تصمیمگیری ناقص است. عملگرهای مقایسهای دقیقاً برای همین طراحی شدهاند. این عملگرها دو مقدار را با هم مقایسه میکنند و نتیجهای از نوع bool برمیگردانند؛ یعنی یا True یا False. همین خروجی ساده، پایه تمام شرطها و مسیرهای مختلف اجرای برنامه است. اگر بفهمی این عملگرها چطور کار میکنند، ورود به مبحث if برایت کاملاً طبیعی خواهد بود.
a = 10 b = 5 print(a > b) print(a < b) print(a == b) print(a != b)
در این مثال، هر مقایسه فقط یک پاسخ منطقی دارد و هیچ ابهامی در آن نیست.
مقایسه اعداد و رشتهها؛ جایی که باید دقت کنی
یکی از جاهایی که خیلی از تازهکارها اشتباه میکنند، مقایسه نوع دادههای مختلف است. مقایسه عدد با عدد کاملاً واضح است، اما وقتی پای رشتهها وسط میآید، باید بدانید دقیقاً چه اتفاقی میافتد. پایتون رشتهها را بر اساس ترتیب کاراکترها مقایسه میکند، نه معنا یا مفهوم آنها. دانستن این نکته از همین مرحله، جلوی خیلی از خطاهای عجیب در آینده را میگیرد.
print("apple" == "apple")
print("10" == 10)در این مثال، مقایسه دوم False است، چون یکی رشته است و دیگری عدد.
عملگرهای منطقی؛ ترکیب شرطها و ساختن منطق واقعی
عملگرهای منطقی زمانی وارد بازی میشوند که بخواهی چند شرط را با هم ترکیب کنی. در دنیای واقعی تصمیمها معمولاً فقط بر اساس یک شرط گرفته نمیشوند. پایتون با عملگرهای and، or و not این امکان را به تو میدهد که منطقهای پیچیدهتر بسازی، بدون اینکه کدت شلوغ یا غیرقابلخواندن شود. این بخش، پلی است بین مفاهیم پایه و برنامه نویسی واقعی.
age = 20 has_id = True print(age >= 18 and has_id)
در اینجا، هر دو شرط باید درست باشند تا نتیجه True شود.
تفاوت and و or در تصمیمگیری
درک تفاوت بین and و or بسیار مهم است، چون نتیجه برنامه را بهطور کامل تغییر میدهد. and زمانی True میشود که همه شرطها درست باشند، اما or کافی است یکی از شرطها درست باشد. همین تفاوت ساده، منطق برنامه را شکل میدهد و اگر اشتباه استفاده شود، برنامه رفتاری کاملاً متفاوت از انتظار شما خواهد داشت.
score = 15 print(score >= 18 or score >= 15)
در این مثال، نتیجه True است، چون یکی از شرطها برقرار است.
یک مثال ترکیبی؛ وقتی همه عملگرها کنار هم قرار میگیرند
برای اینکه تصویر کاملتری داشته باشی، بهتر است همه عملگرها را در یک مثال واقعی ببینی. برنامهها معمولاً ترکیبی از محاسبه، مقایسه و منطق هستند و به ندرت فقط از یک نوع عملگر استفاده میکنند.
age = 22 score = 17 result = (age >= 18) and (score >= 15) print(result)
این مثال نشان میدهد که چطور عملگرهای مقایسهای و منطقی با هم ترکیب میشوند تا یک تصمیم نهایی گرفته شود.
جمعبندی؛ چرا عملگرها نقطه عطف یادگیری هستند؟
اگر بخواهم خیلی صادقانه بگویم، عملگرها همان جایی هستند که برنامه نویسی از حالت حفظ کردن سینتکس خارج میشود و تبدیل به تفکر میشود. از اینجا به بعد، کد تو فقط دستور نیست، بلکه منطق دارد. اگر امروز با حوصله تمرین کنی و خروجیها را بررسی کنی، فردا هنگام نوشتن شرطها و حلقهها ذهنت آماده است. این روز، یکی از مهمترین روزهای مسیر یادگیری پایتون است، چون از اینجا به بعد، برنامههایت شروع به «تصمیم گرفتن» میکنند.
