عملگرها در پایتون (Python) | در پایتون، عملگرهای مختلفی برای انجام عملیاتهای گوناگون وجود دارد. در ادامه به بررسی هر کدام از این عملگرها میپردازیم.
Python Arithmetic Operators
عملگرهای ریاضی برای انجام عملیاتهای اصلی ریاضی مانند جمع، تفریق، ضرب و تقسیم وجود دارند.
| عملگر | نام | مثال |
|---|---|---|
+ |
جمع | 3 + 2 که نتیجهاش میشود 5 |
- |
تفریق | 3 - 2 که نتیجهاش میشود 1 |
* |
ضرب | 3 * 2 که نتیجهاش میشود 6 |
/ |
تقسیم | 3 / 2 که نتیجهاش میشود 1.5 |
// |
تقسیم صحیح | 3 // 2 که نتیجهاش میشود 1 |
% |
باقیمانده | 3 % 2 که نتیجهاش میشود 1 |
** |
توان | 3 ** 2 که نتیجهاش میشود 9 |
عملگرها در پایتون (Python)
اولویت عملگرها در پایتون (Python)
مانند بسیاری از زبانهای برنامهنویسی دیگر، پایتون نیز رعایت میکند قوانین اولویت عملگرها که برای عملیاتهای ریاضی وجود دارد. این قوانین مشخص میکنند که در صورت وجود چندین عملگر در یک عبارت، کدام عملگر ابتدا اجرا میشود.
در زیر، فهرستی از اولویت عملگرها را مشاهده میکنید (از بالاترین اولویت به پایینترین اولویت):
- عملگر
** - عملگر
-(منفی یوناری، یعنی منفی به تنهایی، مانند-x) - عملگرهای
*,/,//,% - عملگرهای
+,-(جمع و تفریق باینری)
برای مثال:
print(2 + 3 * 4) # Output: 14, not 20 print(4 ** 2 * 2) # Output: 32, not 64 print(-5 ** 2) # Output: -25, not 25 print((2 + 3) * 4) # Output: 20, not 14
در مثال اول، عملگر * اولویت بیشتری نسبت به + دارد، بنابراین 3 * 4 ابتدا اجرا میشود. در مثال دوم، عملگر ** اولویت بیشتری نسبت به * دارد، بنابراین 4 ** 2 ابتدا اجرا میشود. در مثال سوم، عملگر منفی یوناری - بر توان ** اولویت دارد، بنابراین عبارت به عنوان منفی کردن مقدار 5 ** 2 تفسیر میشود. در مثال آخر، براکتها با تغییر اولویت عملگرها، عملیات جمع 2 + 3 را ابتدا اجرا میکنند.
اولویت عملگرها عملگرها در پایتون (Python)
پس از آشنایی با عملگرهای ریاضی و اولویت آنها، شما میتوانید با استفاده از پایتون، عملیاتهای پیچیدهتر ریاضی را انجام دهید و با کمک پایتون مسائل مختلف ریاضی را حل کنید.
Python Assignment Operators
عملگرهای تخصیص برای تخصیص مقدار به یک متغیر استفاده میشوند. این عملگرها میتوانند برای انجام عملیاتهای ریاضی و تخصیص مقدار نتیجه به یک متغیر در یک عملیات واحد نیز استفاده شوند.| عملگر | مثال | توضیحات |
|---|---|---|
= |
x = 5 |
تخصیص مقدار 5 به متغیر x |
+= |
x += 3 |
به معنی x = x + 3 |
-= |
x -= 3 |
به معنی x = x - 3 |
*= |
x *= 3 |
به معنی x = x * 3 |
/= |
x /= 3 |
به معنی x = x / 3 |
//= |
x //= 3 |
به معنی x = x // 3 |
%= |
x %= 3 |
به معنی x = x % 3 |
**= |
x **= 3 |
به معنی x = x ** 3 |
Python Comparison Operators
عملگرهای مقایسه برای مقایسه دو مقدار و برگرداندن یک مقدار بولین (True یا False) استفاده میشوند.
| عملگر | نام | مثال |
|---|---|---|
== |
برابر است با | 3 == 2 که نتیجهاش میشود False |
!= |
نامساوی | 3 != 2 که نتیجهاش میشود True |
> |
بزرگتر است از | 3 > 2 که نتیجهاش میشود True |
< |
کوچکتر است از | 3 < 2 که نتیجهاش میشود False |
>= |
بزرگتر یا مساوی | 3 >= 2 که نتیجهاش میشود True |
<= |
کوچکتر یا مساوی | 3 <= 2 که نتیجهاش میشود False |
Python Logical Operators
عملگرهای منطقی برای انجام عملیاتهای منطقی بین دو مقدار بولینی یا شرط استفاده میشوند.| عملگر | نام | مثال |
|---|---|---|
and |
و | (5 > 3) and (2 < 4) که نتیجهاش میشود True |
or |
یا | (5 < 3) or (2 < 4) که نتیجهاش میشود True |
not |
نفی | not(5 < 3) که نتیجهاش میشود True |
Python Identity Operators
عملگرهای شناسه برای بررسی اینکه آیا دو متغیر به یک شیء اشاره میکنند یا خیر، استفاده میشوند.| عملگر | نام | مثال |
|---|---|---|
is |
همان | x is y که نتیجهاش میشود False اگر x و y به دو شیء متفاوت اشاره کنند |
is not |
نیست | x is not y که نتیجهاش میشود True اگر x و y به دو شیء متفاوت اشاره کنند |
Python Membership Operators
عملگرهای عضویت برای بررسی اینکه آیا یک مقدار در یک ساختار داده مانند لیست، تاپل یا دیکشنری وجود دارد یا خیر، استفاده میشوند.| عملگر | نام | مثال |
|---|---|---|
in |
در | 'a' in 'apple' که نتیجهاش میشود True |
not in |
نیست در | 'b' not in 'apple' که نتیجهاش میشود True |
Python Bitwise Operators
عملگرهای بیتی برای انجام عملیاتهای بیتی بر روی اعداد استفاده میشوند.| عملگر | نام | مثال |
|---|---|---|
& |
AND | 5 & 3 که نتیجهاش میشود 1 |
| ` | ` | OR |
^ |
XOR | 5 ^ 3 که نتیجهاش میشود 6 |
~ |
NOT | ~5 که نتیجهاش میشود -6 |
<< |
shift left | 5 << 1 که نتیجهاش میشود 10 |
>> |
shift right | 5 >> 1 که نتیجهاش میشود 2 |
- اولویت عملیاتها: همانطور که در ریاضیات اولویت برخی از عملیاتها بیشتر از دیگران است، در برنامهنویسی پایتون هم همین امر صادق است. برای مثال، عملیات ضرب و تقسیم (
*و/) اولویت بیشتری نسبت به جمع و تفریق (+و-) دارند. عملیات توان (**) نیز اولویت بیشتری نسبت به ضرب و تقسیم دارد. - مقایسه شناسهها با مقدارها: عملگرهای شناسه (
isوis not) متفاوت از عملگرهای مقایسه (==و!=) هستند. عملگرهای شناسه بررسی میکنند که آیا دو متغیر به یک شیء اشاره میکنند یا خیر، در حالی که عملگرهای مقایسه بررسی میکنند که آیا دو متغیر برابر هستند یا خیر. - عملیات بر روی بولینها: بسیاری از عملگرهای پایتون میتوانند بر روی مقادیر بولینی اعمال شوند. برای مثال،
True + Trueمعادل2خواهد بود، زیراTrueدر محاسبات به عنوان1وFalseبه عنوان0محسوب میشوند. - تغییر متغیرها با عملگرهای تخصیص: وقتی از عملگرهای تخصیص مانند
+=یا*=استفاده میکنید، مقدار متغیر اصلی تغییر میکند. برای مثال، اگرx = 10باشد و شماx += 5را اجرا کنید، مقدار جدیدxبرابر15خواهد شد. - عملگرهای منطقی و بولینی: عملگرهای
and,orوnotرا میتوان برای ترکیب چند شرط یا بررسی برعکس یک شرط استفاده کرد. این عملگرها در کنترل جریان برنامه (مانند شرطها و حلقهها) بسیار مفید هستند. - عملگرهای عضویت:
inوnot inعملگرهای قدرتمندی هستند که میتوانید برای بررسی وجود یک عنصر در داخل یک لیست، مجموعه، دیکشنری یا رشته استفاده کنید. به خاطر داشته باشید که در دیکشنریها، عملگرinفقط بر روی کلیدها جستجو میکند، نه مقادیر. - عملگرهای بیتی: در برخی از موارد خاص ممکن است بخواهید از عملگرهای بیتی استفاده کنید. این عملگرها اغلب در محاسبات پایین سطح، نظیر برنامهنویسی سیستمهای نهفته یا رمزنگاری مورد استفاده قرار میگیرند. توجه داشته باشید که استفاده از این عملگرها معمولاً نیازمند درک قویتری از سیستمهای عددی کامپیوتر است.
-
عملگرهای تقسیم: در پایتون، دو عملگر تقسیم وجود دارد. عملگر تقسیم
/یک نتیجه اعشاری (یک float) تولید میکند، حتی اگر دو عدد ورودی int باشند. عملگر تقسیم کلی//یک نتیجه صحیح (یک int) تولید میکند، با کمبود به سمت 0.print(10 / 3) # outputs: 3.3333333333333335 print(10 // 3) # outputs: 3
-
عملگرهای افزایشی و کاهشی: در برخی از زبانهای برنامهنویسی، عملگرهای افزایشی (
++) و کاهشی (--) وجود دارد. اما در پایتون، این عملگرها وجود ندارد. به جای آنها، میتوانید از+=و-=استفاده کنید.x = 1 x += 1 # equivalent to x = x + 1; x is now 2 x -= 1 # equivalent to x = x - 1; x is now 1
-
استفاده از عملگرها برای انواع دادههای غیرعددی: برخی از عملگرها میتوانند بر روی انواع دادههای غیرعددی مانند رشتهها یا لیستها نیز کار کنند. برای مثال، میتوانید عملگر
+را برای ادغام دو رشته یا دو لیست، یا عملگر*را برای تکرار یک رشته یا یک لیست استفاده کنید.print('Hello, ' + 'World!') # outputs: Hello, World! print([1, 2, 3] * 3) # outputs: [1, 2, 3, 1, 2, 3, 1, 2, 3]این نکات در درک بهتر عملگرهای پایتون و چگونگی استفاده از آنها در برنامهنویسی به شما کمک میکنند. به خاطر داشته باشید که برای مسلط شدن به هر زبان برنامهنویسی، تمرین و پروژههای عملی بسیار مفید هستند.
یک مثال ساده برای درک بهتر عملگرها در پایتون (Python)
یک مثال پایتون را با هم انجام می دیم، این برنامه از کاربر میپرسد که هزینه کل سفر چقدر بود، چقدر تخفیف دریافت کردند، و چند نفر هزینه را تقسیم میکنند. سپس از این اطلاعات برای محاسبه سهم هر فرد استفاده میکند.# If the total trip cost was $1000, split between 4 people, with a 10% discount. # Each person should pay (1000 / 4) * 0.9 = 225 # Round the result to 2 decimal places. print("Welcome to the trip cost calculator!") trip_cost = float(input("What was the total trip cost? $")) discount = int(input("What discount did you get? 5, 10, or 15? ")) people = int(input("How many people are sharing the cost?")) discount_as_percent = discount / 100 total_discount_amount = trip_cost * discount_as_percent final_trip_cost = trip_cost - total_discount_amount cost_per_person = final_trip_cost / people final_amount = round(cost_per_person, 2) print(f"Each person should pay: ${final_amount}")خروجی کد به صورت زیر خواهد بود:Welcome to the trip cost calculator! What was the total trip cost? $1000 What discount did you get? 5, 10, or 15? 10 How many people are sharing the cost? 4 Each person should pay: $225.0
مطمئنا. در ابتدا، نیاز به توضیح برخی از مفاهیم پایهای داریم:- تابع
input: این تابع به کاربر اجازه میدهد که اطلاعات را از طریق کیبورد وارد کند. آنچه کاربر تایپ میکند به عنوان رشتهای برمیگردد. - تابع
floatوint: این تابعها رشتههایی که نمایانگر اعداد هستند را به اعداد صحیح یا اعشاری تبدیل میکنند. round: این تابع یک عدد را به تعداد دقتهای مورد نظر گرد میکند.print: این تابع محتوایی که به آن داده میشود را چاپ میکند.
- با استفاده از تابع
print، یک پیام خوش آمد گویی به کاربر نمایش داده میشود. - سپس، با استفاده از تابع
input، از کاربر سه نوع اطلاعات درخواست میشود: هزینه کل سفر، مقدار تخفیف دریافت شده، و تعداد افرادی که هزینه را تقسیم میکنند. discount_as_percentرا با تقسیم کردنdiscountبر 100 محاسبه میکنیم تا مقدار تخفیف را به صورت درصد بدست آوریم.total_discount_amountرا با ضرب کردنtrip_costدرdiscount_as_percentمحاسبه میکنیم تا مقدار کل تخفیف را بدست آوریم.final_trip_costرا با کم کردنtotal_discount_amountازtrip_costمحاسبه میکنیم تا هزینه نهایی سفر را بدست آوریم.cost_per_personرا با تقسیم کردنfinal_trip_costبرpeopleمحاسبه میکنیم تا مبلغی که هر فرد باید بپردازد را بدست آوریم.final_amountرا با استفاده از تابعroundبرایcost_per_personمحاسبه میکنیم تا مقدار نهایی پرداخت هر فرد را با دو رقم اعشار بدست آوریم.- در نهایت، با استفاده از تابع
print، مقدارfinal_amountرا به کاربر نمایش میدهیم.
- تابع
