عملگرها برای انجام عملیات روی مقادیر و متغیرها استفاده میشوند. عملگرها میتوانند روی آیتمهای منفرد اعمال شده و نتیجه را برگردانند. به آیتمهای داده عملوند (Operand) یا آرگومان (Argument) میگویند. عملگرها با کلیدواژهها یا کارکترهای ویژه بیان میگردند. برای مثال، برای عملگر هویتی (identity) از کلیدواژه «is» و «is not» استفاده میشود.
عملگرهای حسابی
عملگرهای حسابی عملیات حساب مانند جمع، تفریق، ضرب، تقسیم،باقی مانده، نما و… را انجام میدهند. متدهای مختلفی برای انجام عملیات حسابی در پایتون وجود دارد، مثلاً استفاده از تابع eval، اعلان متغیر و انجام عملیات و یا فراخوانی توابع.
مثال: برای عملگرهای حسابی مثال ساده جمع دو عدد را درنظر بیاورید ۹=۵+۴.
x= 4 y= 5 print(x + y)
به همین شکل، میتوان از دیگر عملگرهای حسابی مانند ضرب (*) ، تقسیم (/)، تفریق (-) و … استفاده کرد.
عملگرهای مقایسه ای
این عملگرها مقادیر دو سمت خود را مقایسه کرده و رابطه بین آنها را تعیین میکنند. به آنها همچنین عملگرهای رابطهای نیز گفته میشود. انواع عملگرهای مقایسهای عبارتند از (==, =! , <>, =>, <, و…)
مثال: برای عملگرهای مقایسهای، مقدار x را با مقدار y مقایسه کرده و نتیجه را به صورت true یا false چاپ میکنیم. در این مثال، مقدار x برابر ۴ است که کوچکتر از مقدار Y=5 میباشد، بنابرین مقدار عبارت x>y را چاپ میکنیم ، که در واقع مقادیر x و y را مقایسه کرده و و از انجا که شرط صحیح نیست، مقدار false برگردانده میشود.
x = 4 y = 5 print(('x > y is',x>y))
به همین ترتیب، میتوان دیگر عملگرهای مقایسه ای را نیز امتحان کرد (x < y, x==y, x!=y، و…)
عملگرهای تخصیص (Assignment) در پایتون
عملگرهای تخصیص برای نسبت دادن مقدار عملوند سمت راست به عملوند سمت چپ استفاده میشوند. عملوندهای تخصیص مختلف در پایتون عبارتند از (+=, – = , *=, /= و…).
مثال: عملگرهای تخصیص در پایتون برای نسبت دادن یک مقدار استفاده میشوند، به عنوان مثال
num1 = 4 num2 = 5 print(("Line 1 - Value of num1 : ", num1)) print(("Line 2 - Value of num2 : ", num2))
مثالهایی از عملگرهای تخصیص مرکب
همچنین میتوان از یک عملگر تخصیص مرکب استفاده نمود، بدین ترتیب میتوان عملوند سمت چپ را با عملوند سمت راست جمع، تفریق و ضرب کرد و سپس این جمع (یا هر عمل حسابی دیگر) را به عملوند سمت چپ نسبت داد.
- گام اول: مقادیر را به num1 و num2 اختصاص دهید.
- گام دوم: مقدار num1 را با مقدار num2 جمع کنید (۹=۵+۴)
- گام سوم: num1 را با خروجی num2 جمع بزنید (۴+۹)
- خروجی نهایی چاپ میشود ۱۳
num1 = 4 num2 = 5 res = num1 + num2 res += num1 print(("Line 1 - Result of + is ", res))
عملگرهای منطقی
عملگرهای منطقی در پایتون برای دستورات شرطی بکار میروند که نتیجه آنها به صورت true یا false میباشد.عملگرهای منطقی در پایتون عبارتند از AND، OR و NOT. برای عملگرهای منطقی شرایط زیر اعمال میگردد.
- برای عملگر AND: اگر هردو عملوند (سمت راست و چپ) صحیح باشند، مقدار TRUE برگردانده میشود.
- برای عملگر OR: اگر یکی از دوعملوندها (سمت راست یا چپ) صحیح باشد، مقدار TRUE برگردانده میشود.
- برای عملگر NOT: اگر عملوند غلط باشد مقدار TRUE برگردانده میشود.
مثال: در این مثال با توجه به مقادیر a و b، مقدار true یا false بدست میآید.
a = True b = False print(('a and b is',a and b)) print(('a or b is',a or b)) print(('not a is',not a))
عملگرهای عضویت (Membership)
این عملگرها وضعیت عضویت یک متغیر یا مقدار را در یک دنباله مانند لیست، رشته و یا تاپل بررسی میکنند. دو عملگر عضویت در پایتون وجود دارد(in، not in). خروجی این عملگرها، با توجه به حضور یا عدم حضور متغیر در یک دنباله یا رشته مشخص میشود.
مثال: برای مثال با استفاده از عملگرهای in و not in بررسی میکنیم که آیا مقدار ۴=xیا ۸=y در یک لیست وجود دارد یا نه.
x = 4 y = 8 list = [1, 2, 3, 4, 5 ]; if ( x in list ): print("Line 1 - x is available in the given list") else: print("Line 1 - x is not available in the given list") if ( y not in list ): print("Line 2 - y is not available in the given list") else: print("Line 2 - y is available in the given list")
- مقادیر x و y را اعلان کنید.
- مقادیر لیست را اعلان کنید.
- از عملگر «in» همراه با دستور if، برای بررسی وجود x در لیست بهره برده و خروجی متناظر را چاپ کنید.
- از عملگر «not in» همراه با دستور if، برای بررسی وجود y در لیست استفاده کرده و خروجی متناظر را چاپ کنید.
- کد را اجرا کنید، با اجرای کد خروجی مطلوب بدست میآید.
عملگر هویتی (Identity)
برای مقایسه مکان حافظه دو شی، از عملگر هویتی استفاده میشود. دو عملگر هویتی مورد استفاده در پایتون عبارتند از« is,is not».
- عملگر is: اگر دومتغیر به یک شی اشاره کنند مقدار true ودر غیر اینصورت مقدار false را برمیگرداند.
- عملگر is not: اگر دو متغیر به یک شی اشاره کنند مقدار false و در غیر اینصورت مقدار true برگردانده میشود.
در جدول زیر ترتیب اولویت عملگرها از بالا به پایین کاهش مییابد.
اولویت عملگرهای درون یک سلول از سمت چپ به راست ارزیابی میشود.
عملگرها(از بالا به پایین اولویت کاهش مییابد) |
معنی |
** |
نما |
*, /, //, % |
باقی مانده، تقسیم صحیح، تقسیم، ضرب |
+, – |
تفریق، جمع |
<= < > >= |
عملگرهای مقایسه ای |
= %= /= //= -= += *= **= |
عملگرهای تخصیص |
is is not |
عملگرهای هویتی |
in not in |
عملگرهای عضویت |
not or and |
عملگرهای منطقی |
مثال
x = 20 y = 20 if ( x is y ): print("x & y SAME identity") y=30 if ( x is not y ): print("x & y have DIFFERENT identity")
- مقدار x و y را اعلان کنید.
- از عملگر «is» برای بررسی اینکه x همان y است استفاده کنید.
- سپس از عملگر «is not» برای بررسی اینکه x همان y نیست استفاده کنید.
- کد را اجرا کنید، خروجی مورد نظر بدست میآید.
اولویت عملگرها
اولویت عملگرها مشخص میکند که کدام عملگر باید اول ارزیابی گردد.برای دوری جستن از ابهام در مقادیر، اولویتبندی عملگرها ضروری است. درست همانند روش یک ضرب معمولی، ضرب اولویت بالاتری نسبت به جمع دارد. برای مثال در ۵*۴+۳ ، پاسخ ۲۳ خواهد بود، برای تغییر در ترتیب اولویت از پرانتز استفاده میکنیم ۵*(۴+۳)، اکنون پاسخ برابر ۳۵ خواهد بود. اولویت عملگرها در پایتون به صورت (& ,- + ,% / * ,** ,~ – + unary) و … است.
v = 4 w = 5 x = 8 y = 2 z = 0 z = (v+w) * x / y; print("Value of (v+w) * x/ y is ", z)
- مقادیر متغیرهای v، w…z را اعلان کنید.
- حال فرمول را اعمال کرده و کد را اجرا کنید.
- کد اجرا شده و متغیر با اولویت بالاتر محاسبه شده و نتیجه در خروجی آورده میشود
مثال پایتون ۲
مثال های بالا برای پایتون ۳ بود، اگر بخواهید از پایتون ۲ استفاده کنید، از کدهای زیر استفاده کنید.
#Arithmetic Operators x= 4 y= 5 print x + y #Comparison Operators x = 4 y = 5 print('x > y is',x>y) #Assignment Operators num1 = 4 num2 = 5 print ("Line 1 - Value of num1 : ", num1) print ("Line 2 - Value of num2 : ", num2) #compound assignment operator num1 = 4 num2 = 5 res = num1 + num2 res += num1 print ("Line 1 - Result of + is ", res) #Logical Operators a = True b = False print('a and b is',a and b) print('a or b is',a or b) print('not a is',not a) #Membership Operators x = 4 y = 8 list = [1, 2, 3, 4, 5 ]; if ( x in list ): print "Line 1 - x is available in the given list" else: print "Line 1 - x is not available in the given list" if ( y not in list ): print "Line 2 - y is not available in the given list" else: print "Line 2 - y is available in the given list" #Identity Operators x = 20 y = 20 if ( x is y ): print "x & y SAME identity" y=30 if ( x is not y ): print "x & y have DIFFERENT identity" #Operator precedence v = 4 w = 5 x = 8 y = 2 z = 0 z = (v+w) * x / y; print "Value of (v+w) * x/ y is ", z
خلاصه
- متدهای مختلفی برای انجام عملیات حسابی در پایتون وجود دارد، مثلاً استفاده از تابع eval، اعلان متغیر و انجام عملیات و یا فراخوانی توابع.
- عملگرهای مقایسه ای که گاهی به آنها عملگرهای رابطهای نیز گفته میشود، برای مقایسه مقدار عملوندهای دوطرف و مشخص کردن رابطه بین آنها بکار میروند.
- عملگرهای تخصیص پایتون برای اختصاص یک مقدار به متغیر استفاده میشوند.
- در پایتون میتوان در عملیات حسابی پیچیده، از عملگرهای تخصیص مرکب نیز استفاده کرد، که در آن صورت میتوان نتیجه یک عملوند را به یک عملوند دیگر اختصاص داد.
- برای عملگر AND: اگر هردو عملوند (سمت راست و چپ) صحیح باشند، مقدار TRUE برگردانده میشود.
- برای عملگر OR: اگر یکی از دوعملوندها (سمت راست یا چپ) صحیح باشد، مقدار TRUE برگدانده میشود.
- برای عملگر NOT: اگر عملوند غلط باشد مقدار TRUE برگردانده میشود.
- دو عملگر عضویت در پایتون وجود دارد « in،not in».
- نتیجه این عملگرها براساس حضور یک متغیر در یک دنباله یا رشته مشخص میگردد.
- دو عملگر هویتی در پایتون وجود دارد «is, is not ».
- اگر دو متغیر به یک شی اشاره کنند مقدار true و در غیر اینصورت false برگردانده میشود.
- در محاسبات پیچیده، اگر بخوهید اولویتی برای انجام محاسبات تعیین کنید، اولویت عملگرها مفید واقع میشوند.
منبع: ترجمه از سایت guru99.com
در جلسه بعدی آموزش پایتون همراه ماه باشید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.