بی آکادمی
آموزش HTML
آموزش CSS
فلکس باکس
جاوااسکریپت
آموزش SQL
آموزش MySQL
آموزش PHP
آموزش لاراول
دانلود و نصب لینوکس
داکر دسکتاپ
VS Code
گیت و گیت هاب
آموزش پایتون
هوش مصنوعی
TypeScript
فروشگاه اینترنتی
اپلیکیشن موبایل
آموزش اکسل

آموزش جامع عملگرهای تخصیص در پایتون


🎯 اهداف یادگیری

  • درک مفهوم عملگر تخصیص پایه (=) و کاربرد آن
  • شناخت انواع عملگرهای تخصیص ترکیبی
  • یادگیری تخصیص چندگانه به متغیرها
  • آشنایی با تخصیص به ساختارهای داده
  • یادگیری تکنیک‌های حرفه‌ای تخصیص مقدار

📌 مقدمه‌ای بر عملگرهای تخصیص

عملگرهای تخصیص برای اختصاص دادن مقادیر به متغیرها استفاده می‌شوند. ساده‌ترین عملگر تخصیص، علامت مساوی (=) است که مقدار سمت راست را به متغیر سمت چپ اختصاص می‌دهد.


📌 عملگر تخصیص پایه (=)

اساسی‌ترین عملگر تخصیص که برای اختصاص مقدار به متغیرها استفاده می‌شود:

python
# تخصیص مقدار ساده به متغیرها
x = 10
name = "پایتون"
is_valid = True
print(x) # خروجی: 10
print(name) # خروجی: پایتون
print(is_valid) # خروجی: True
# تخصیص نتیجه یک محاسبه
result = 5 + 3 * 2
print(result) # خروجی: 11 (با توجه به اولویت عملگرها)

📌 عملگرهای تخصیص ترکیبی

پایتون عملگرهای تخصیص ترکیبی ارائه می‌دهد که عمل محاسبه و تخصیص را همزمان انجام می‌دهند:

python
# عملگر += (افزایش و تخصیص)
x = 5
x += 3 # معادل x = x + 3
print(x) # خروجی: 8
# عملگر -= (کاهش و تخصیص)
y = 10
y -= 4 # معادل y = y - 4
print(y) # خروجی: 6
# عملگر *= (ضرب و تخصیص)
z = 3
z *= 5 # معادل z = z * 5
print(z) # خروجی: 15
# عملگر /= (تقسیم و تخصیص)
a = 20
a /= 4 # معادل a = a / 4
print(a) # خروجی: 5.0 (تقسیم معمولی همیشه float برمی‌گرداند)
# عملگر //= (تقسیم صحیح و تخصیص)
b = 17
b //= 5 # معادل b = b // 5
print(b) # خروجی: 3
# عملگر %= (باقیمانده و تخصیص)
c = 17
c %= 5 # معادل c = c % 5
print(c) # خروجی: 2
# عملگر **= (توان و تخصیص)
d = 2
d **= 3 # معادل d = d ** 3
print(d) # خروجی: 8

جدول عملگرهای تخصیص ترکیبی:

عملگر توضیح مثال معادل
+= افزایش و تخصیص 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
# تخصیص چندگانه به متغیرها
a, b, c = 5, 10, 15
print(a, b, c) # خروجی: 5 10 15
# تعویض مقادیر دو متغیر بدون متغیر موقت
x, y = 10, 20
print("قبل از تعویض:", x, y) # خروجی: 10 20
x, y = y, x
print("بعد از تعویض:", x, y) # خروجی: 20 10
# تخصیص یک مقدار به چندین متغیر
p = q = r = 100
print(p, q, r) # خروجی: 100 100 100

نکات مهم در تخصیص چندگانه:

  • تعداد متغیرها و مقادیر باید برابر باشد در غیر این صورت خطا رخ می‌دهد
  • تخصیص زنجیره‌ای (p = q = r = 100) برای اختصاص یک مقدار به چند متغیر مفید است
  • تعویض مقادیر بدون نیاز به متغیر موقت امکان‌پذیر است

📌 تخصیص به ساختارهای داده

عملگرهای تخصیص با لیست‌ها، تاپل‌ها و دیگر ساختارهای داده نیز کار می‌کنند:

python
# تخصیص به عناصر لیست
my_list = [1, 2, 3]
my_list[1] = 20 # تغییر عنصر دوم
print(my_list) # خروجی: [1, 20, 3]
# تخصیص ترکیبی با لیست‌ها
numbers = [10, 20, 30]
numbers[0] += 5 # افزایش عنصر اول
print(numbers) # خروجی: [15, 20, 30]
# باز کردن بسته (unpacking) لیست و تخصیص
data = [1, 2, 3]
x, y, z = data
print(x, y, z) # خروجی: 1 2 3
# باز کردن بسته تاپل
person = ("John", 25, "Engineer")
name, age, job = person
print(name, age, job) # خروجی: John 25 Engineer

📌 تکنیک‌های حرفه‌ای تخصیص

برخی تکنیک‌های پیشرفته‌تر برای تخصیص مقادیر در پایتون:

python
# تخصیص شرطی با عبارت سه‌تایی
score = 85
result = "قبول" if score >= 50 else "رد"
print(result) # خروجی: قبول
# تخصیص با عملگر Walrus (:=) در پایتون ۳.۸ به بعد
# این عملگر همزمان مقداردهی و برگرداندن مقدار را انجام می‌دهد
numbers = [1, 2, 3, 4, 5]
if (n := len(numbers)) > 3:
print(f"لیست طولانی است: {n} عنصر") # خروجی: لیست طولانی است: 5 عنصر
# تخصیص با استفاده از توابع
x = abs(-10) # قدر مطلق
y = round(3.14159, 2) # گرد کردن به دو رقم اعشار
print(x, y) # خروجی: 10 3.14

نکات مهم در تخصیص حرفه‌ای:

  • عبارت سه‌تایی: برای تخصیص شرطی مختصر و مفید است
  • عملگر Walrus (:=): فقط در پایتون ۳.۸ و بالاتر موجود است
  • تخصیص با توابع: نتیجه توابع را می‌توان مستقیماً به متغیرها اختصاص داد

📌 خطاهای رایج در تخصیص

آشنایی با خطاهای رایج به شما کمک می‌کند از آنها جلوگیری کنید:

python
# خطا: تعداد متغیرها و مقادیر نامتناسب
# a, b = 1, 2, 3 # ValueError: too many values to unpack
# a, b, c = 1, 2 # ValueError: not enough values to unpack
# راه حل: استفاده از * برای مقادیر اضافی
a, b, *rest = 1, 2, 3, 4, 5
print(a, b, rest) # خروجی: 1 2 [3, 4, 5]
# خطا: تخصیص به مقدار ثابت
# 5 = x # SyntaxError: cannot assign to literal
# خطا: تخصیص به عبارت
# x + 1 = 5 # SyntaxError: cannot assign to expression
# توجه: تخصیص ترکیبی روی متغیر تعریف نشده
# x += 5 # NameError: name 'x' is not defined
# باید ابتدا متغیر تعریف شود:
x = 10
x += 5 # حالا درست کار می‌کند

📌 تمرین‌های عملی

حالا نوبت شماست! کدهای زیر را بررسی کنید و نتیجه را پیش‌بینی کنید:

python
# تمرین ۱
x = 5
x += 3
x *= 2
print(x)
# تمرین ۲
a, b, c = 10, 20, 30
a, b = b, a
print(a, b, c)
# تمرین ۳
numbers = [1, 2, 3]
numbers[1] = 99
numbers += [4]
print(numbers)