المشغلون#

مقدمة#

المعاملات في بايثون عبارة عن رموز وكلمات مفتاحية خاصة تُمكّنك من إجراء عمليات على القيم والمتغيرات. وهي تشمل نطاقًا واسعًا من الوظائف، بدءًا من العمليات الحسابية والمقارنة، وصولًا إلى العمليات المنطقية، وعمليات البت، وعمليات الإسناد. يُعدّ إتقان هذه المعاملات أمرًا أساسيًا لبناء أكواد بايثون فعّالة ومعبرة، إذ تُشكّل أساس كل عملية حسابية أو عملية اتخاذ قرار تقريبًا في برامجك. ستجد أدناه أمثلة موجزة لكل معامل لمساعدتك على فهم استخدامه والنتائج المتوقعة منه.

Arithmetic#

اسم

رمز

المشغل

مثال

إضافة

+

a + b

5 + 3 # 8

قسم

/

a / b

10 / 4 # 2.5 (always returns a float)

الأس

**

a ** b

2 ** 3 # 8

تقسيم الأرضيات

//

a // b

10 // 4 # 2 (always returns an integer)

مودولو

%

a % b

10 % 4 # 2

الضرب

*

a * b

5 * 3 # 15

النفي

-

- a

- 5 # -5

الطرح

-

a - b

10 - 3 # 7

Augmented Arithmetic#

اسم

رمز

المشغل

مثال

إضافة

+=

a += b

a = 5
b = 3
a += b # a = 8

قسم

/=

a /= b

a = 10
b = 4
a /= b # a = 2.5

الأس

**=

a **= b

a = 2
b = 3
a **= b # a = 8

تقسيم الأرضيات

//=

a //= b

a = 10
b = 4
a //= b # a = 2

معامل

%=

a %= b

a = 10
b = 3
a %= b # a = 1

الضرب

*=

a *= b

a = 2
b = 3
a *= b # a = 6

الطرح

-=

a -= b

a = 10
b = 4
a -= b # a = 6

Comparison#

اسم

رمز

المشغل

مثال

المساواة

==

a == b

5 == 5 # True

عدم المساواة

!=

a != b

5 != 10 # True

أكبر من

>

a > b

10 > 5 # True

أكبر من أو يساوي

>=

a >= b

10 >= 5 # True

أقل من

<

a < b

5 < 10 # True

أقل من أو يساوي

<=

a <= b

5 <= 5 # True

المقارنة المتسلسلة

varies

a < b < c

1 < 2 < 3 # True (1 < 2) and (2 < 3)

Logical#

اسم

رمز

مثال

خطأ شنيع

False

تُعرَّف بعض القيم على أنها False، بما في ذلك:

  • False
  • None
  • الصفر العددي من أي نوع: 0، 0.0، 0j
  • التسلسلات والمجموعات الفارغة: ‘’ (سلسلة نصية فارغة)، [] (قائمة فارغة)، () (صف فارغ)، {} (قاموس فارغ)، set()، إلخ.

حقيقي

True

Any object that is not explicitly False is considered True. For instance, non-empty strings, non-zero numbers, non-empty lists, and even custom objects (unless they override the truth value methods to return False) are treated as True.


اسم

رمز

المشغل

مثال

هوية

is

a is b

[1] is [1] # False

ليس هوية

is not

a is not b

5 is not 10 # True

منطقي و

and

a and b

True and False # False

النفي المنطقي

not

not a

not False # True

أو المنطقي

or

a or b

False or True # True

التعبير الشرطي

if else

x if condition else y

“Yes” if 5 > 3 else “No” # “Yes”

Sequences (Lists, Tuples, Strings)#

اسم

رمز

المشغل

مثال

سلسلة

+

seq1 + seq2

[1, 2] + [3, 4] # [1, 2, 3, 4]

تخصيص الشريحة

seq[i:j] = values

lst = [1, 2, 3, 4]
lst[1:3] = [20, 30] # lst = [1, 20, 30, 4]

حذف الشريحة

del seq[i:j]

lst = [1, 2, 3, 4]
del lst[1:3] # lst = [1, 4]

التقطيع

seq[i:j]

lst = [1, 2, 3, 4]
lst[1:3] # [2, 3]

Dictionaries (Mappings)#

اسم

رمز

المشغل

مثال

التعيين المفهرس

obj[k] = v

d = {}
d[‘a’] = 1 # d = {‘a’: 1}

الحذف المفهرس

del obj[k]

d = {‘a’: 1}
del d[‘a’] # d = {}

الفهرسة

obj[k]

d = {‘a’: 1}
d[‘a’] # 1

String Formatting#

اسم

رمز

المشغل

مثال

تنسيق السلاسل النصية

%

s % obj

str = “Hello, %(name)s” % {“name”: “Alice”} # str = ‘Hello, Alice’

Membership#

اسم

رمز

المشغل

مثال

اختبار الاحتواء

in

obj in seq

‘a’ in ‘cat’ # True

رفض العضوية (غير مشارك)

not in

a not in b

‘x’ not in ‘hello’ # True

Bitwise#

اسم

رمز

المشغل

مثال

عملية AND الثنائية

&

a & b

6 & 3 # 2 (0b110 & 0b011 = 0b010)

عملية XOR (أو الحصرية الثنائية)

^

a ^ b

6 ^ 3 # 5 (0b110 ^ 0b011 = 0b101)

عكس البتات (NOT)

~

~ a

~5 # -6 (~0b101 yields -6 in two’s complement)

أو بت

|

a | b

6 | 3 # 7 (0b110 | 0b011 = 0b111)

التحويل إلى اليسار

<<

a << b

2 << 3 # 16 (0b10 << 3 becomes 0b10000)

انعطاف يمين

>>

a >> b

16 >> 2 # 4 (0b10000 >> 2 becomes 0b100)

Augmented Bitwise#

اسم

رمز

المشغل

مثال

عملية AND الثنائية المعززة

&=

a &= b

a = 6
b = 3
a &= b # a = 2 (0b110 & 0b011 = 0b010)

عملية XOR المعززة على مستوى البتات

^=

a ^= b

a = 6
b = 3
a ^= b # a = 5 (0b110 ^ 0b011 = 0b101)

عملية أو الثنائية المعززة

|=

a |= b

a = 6
b = 3
a |= b # a = 7 (0b110 | 0b011 = 0b111)

إزاحة يسارية معززة

<<=

a <<= b

a = 5
b = 2
a <<= b # a = 20 (5 << 2 equals 5 * 2²)

التحول الأيمن المعزز

>>=

a >>= b

a = 20
b = 2
a >>= b # a = 5 (20 >> 2 equals 20 // 2²)