→ همه‌ی نوشته‌ها
9 دقیقه مطالعه

عملگرها در پایتون (Python)

عملگرها در پایتون (Python)

عملگرها در پایتون (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)

اولویت عملگرها در پایتون (Python)

مانند بسیاری از زبان‌های برنامه‌نویسی دیگر، پایتون نیز رعایت می‌کند قوانین اولویت عملگرها که برای عملیات‌های ریاضی وجود دارد. این قوانین مشخص می‌کنند که در صورت وجود چندین عملگر در یک عبارت، کدام عملگر ابتدا اجرا می‌شود.

در زیر، فهرستی از اولویت عملگرها را مشاهده می‌کنید (از بالاترین اولویت به پایین‌ترین اولویت):

  1. عملگر **
  2. عملگر - (منفی یوناری، یعنی منفی به تنهایی، مانند -x)
  3. عملگرهای *, /, //, %
  4. عملگرهای +, - (جمع و تفریق باینری)

برای مثال:

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)

پس از آشنایی با عملگرهای ریاضی و اولویت آنها، شما می‌توانید با استفاده از پایتون، عملیات‌های پیچیده‌تر ریاضی را انجام دهید و با کمک پایتون مسائل مختلف ریاضی را حل کنید.

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
چندین نکته مهم درباره عملگرهای پایتون وجود دارد که می‌توانند به شما کمک کنند:
  1. اولویت عملیات‌ها: همانطور که در ریاضیات اولویت برخی از عملیات‌ها بیشتر از دیگران است، در برنامه‌نویسی پایتون هم همین امر صادق است. برای مثال، عملیات ضرب و تقسیم (* و /) اولویت بیشتری نسبت به جمع و تفریق (+ و -) دارند. عملیات توان (**) نیز اولویت بیشتری نسبت به ضرب و تقسیم دارد.
  2. مقایسه شناسه‌ها با مقدارها: عملگرهای شناسه (is و is not) متفاوت از عملگرهای مقایسه (== و !=) هستند. عملگرهای شناسه بررسی می‌کنند که آیا دو متغیر به یک شیء اشاره می‌کنند یا خیر، در حالی که عملگرهای مقایسه بررسی می‌کنند که آیا دو متغیر برابر هستند یا خیر.
  3. عملیات بر روی بولین‌ها: بسیاری از عملگرهای پایتون می‌توانند بر روی مقادیر بولینی اعمال شوند. برای مثال، True + True معادل 2 خواهد بود، زیرا True در محاسبات به عنوان 1 و False به عنوان 0 محسوب می‌شوند.
  4. تغییر متغیرها با عملگرهای تخصیص: وقتی از عملگرهای تخصیص مانند += یا *= استفاده می‌کنید، مقدار متغیر اصلی تغییر می‌کند. برای مثال، اگر x = 10 باشد و شما x += 5 را اجرا کنید، مقدار جدید x برابر 15 خواهد شد.
  5. عملگرهای منطقی و بولینی: عملگرهای and, or و not را می‌توان برای ترکیب چند شرط یا بررسی برعکس یک شرط استفاده کرد. این عملگرها در کنترل جریان برنامه (مانند شرط‌ها و حلقه‌ها) بسیار مفید هستند.
  6. عملگرهای عضویت: in و not in عملگرهای قدرتمندی هستند که می‌توانید برای بررسی وجود یک عنصر در داخل یک لیست، مجموعه، دیکشنری یا رشته استفاده کنید. به خاطر داشته باشید که در دیکشنری‌ها، عملگر in فقط بر روی کلید‌ها جستجو می‌کند، نه مقادیر.
  7. عملگرهای بیتی: در برخی از موارد خاص ممکن است بخواهید از عملگرهای بیتی استفاده کنید. این عملگرها اغلب در محاسبات پایین سطح، نظیر برنامه‌نویسی سیستم‌های نهفته یا رمزنگاری مورد استفاده قرار می‌گیرند. توجه داشته باشید که استفاده از این عملگرها معمولاً نیازمند درک قوی‌تری از سیستم‌های عددی کامپیوتر است.
  8. عملگرهای تقسیم: در پایتون، دو عملگر تقسیم وجود دارد. عملگر تقسیم / یک نتیجه اعشاری (یک float) تولید می‌کند، حتی اگر دو عدد ورودی int باشند. عملگر تقسیم کلی // یک نتیجه صحیح (یک int) تولید می‌کند، با کمبود به سمت 0.

    print(10 / 3)  # outputs: 3.3333333333333335
    print(10 // 3) # outputs: 3
  9. عملگرهای افزایشی و کاهشی: در برخی از زبان‌های برنامه‌نویسی، عملگرهای افزایشی (++) و کاهشی (--) وجود دارد. اما در پایتون، این عملگرها وجود ندارد. به جای آنها، می‌توانید از += و -= استفاده کنید.

    x = 1
    x += 1  # equivalent to x = x + 1; x is now 2
    x -= 1  # equivalent to x = x - 1; x is now 1
  10. استفاده از عملگرها برای انواع داده‌های غیرعددی: برخی از عملگرها می‌توانند بر روی انواع داده‌های غیرعددی مانند رشته‌ها یا لیست‌ها نیز کار کنند. برای مثال، می‌توانید عملگر + را برای ادغام دو رشته یا دو لیست، یا عملگر * را برای تکرار یک رشته یا یک لیست استفاده کنید.

    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: این تابع محتوایی که به آن داده می‌شود را چاپ می‌کند.
    حالا به توضیح کد می‌پردازیم:
    1. با استفاده از تابع print، یک پیام خوش آمد گویی به کاربر نمایش داده می‌شود.
    2. سپس، با استفاده از تابع input، از کاربر سه نوع اطلاعات درخواست می‌شود: هزینه کل سفر، مقدار تخفیف دریافت شده، و تعداد افرادی که هزینه را تقسیم می‌کنند.
    3. discount_as_percent را با تقسیم کردن discount بر 100 محاسبه می‌کنیم تا مقدار تخفیف را به صورت درصد بدست آوریم.
    4. total_discount_amount را با ضرب کردن trip_cost در discount_as_percent محاسبه می‌کنیم تا مقدار کل تخفیف را بدست آوریم.
    5. final_trip_cost را با کم کردن total_discount_amount از trip_cost محاسبه می‌کنیم تا هزینه نهایی سفر را بدست آوریم.
    6. cost_per_person را با تقسیم کردن final_trip_cost بر people محاسبه می‌کنیم تا مبلغی که هر فرد باید بپردازد را بدست آوریم.
    7. final_amount را با استفاده از تابع round برای cost_per_person محاسبه می‌کنیم تا مقدار نهایی پرداخت هر فرد را با دو رقم اعشار بدست آوریم.
    8. در نهایت، با استفاده از تابع print، مقدار final_amount را به کاربر نمایش می‌دهیم.