325 lines
8.5 KiB
Markdown
325 lines
8.5 KiB
Markdown
|
---
|
|||
|
title: Basic Operators
|
|||
|
localeTitle: المشغل الأساسي
|
|||
|
---
|
|||
|
## المشغل الأساسي
|
|||
|
|
|||
|
المشغلين هم رموز تخبر المترجم أن يقوم بعملية محددة (بمعنى حسابي ، مقارنة ، منطقي ، إلخ.)
|
|||
|
|
|||
|
أنواع مختلفة من المشغلين في Python مذكورة أدناه:
|
|||
|
|
|||
|
1. العوامل الحسابية
|
|||
|
2. مشغلي العلائقية
|
|||
|
3. مشغلات bitwise
|
|||
|
4. مشغلي الواجبات
|
|||
|
5. العوامل المنطقية
|
|||
|
6. مشغلي العضوية
|
|||
|
7. مشغلي الهوية
|
|||
|
|
|||
|
#### العوامل الحسابية
|
|||
|
|
|||
|
يأخذ المشغل الحسابي اثنين من المعاملات كمدخل ، وينفذ عملية حسابية ويعيد النتيجة.
|
|||
|
|
|||
|
خذ بعين الاعتبار التعبير **"a = 2 + 3"** . هنا ، `2` و `3` هي _المعاملات_ و `+` هو _المشغل الحسابي_ . يتم تخزين نتيجة العملية في المتغير a.
|
|||
|
|
|||
|
المشغل أو العامل
|
|||
|
|
|||
|
وصف
|
|||
|
|
|||
|
استعمال
|
|||
|
|
|||
|
+
|
|||
|
|
|||
|
ينفذ إضافة على المعاملات
|
|||
|
|
|||
|
12 + 3 = 15
|
|||
|
|
|||
|
\-
|
|||
|
|
|||
|
ينفذ الطرح على المعاملات. يطرح المعامل الأيمن من المعامل الأيسر
|
|||
|
|
|||
|
12 - 3 = 9
|
|||
|
|
|||
|
\*
|
|||
|
|
|||
|
ينفذ الضرب على المعاملات
|
|||
|
|
|||
|
12 \* 3 = 36
|
|||
|
|
|||
|
/
|
|||
|
|
|||
|
ينفذ شعبة على المعاملات. يقسم المعامل اليسار بالمعامل الصحيح
|
|||
|
|
|||
|
12/3 = 4
|
|||
|
|
|||
|
ملاحظة: عند استخدام رقمين صحيحين ، تختلف النتيجة بين Python 2 و Python 3.
|
|||
|
|
|||
|
5/2 = 2 في Python 2
|
|||
|
|
|||
|
5/2 = 2.5 في Python 3
|
|||
|
|
|||
|
٪
|
|||
|
|
|||
|
ينفذ معامل على المعاملات. إرجاع الباقية التي تم الحصول عليها أثناء تقسيم المعامل الأيسر بالمعامل الصحيح
|
|||
|
|
|||
|
16٪ 3 = 1
|
|||
|
|
|||
|
\*\*
|
|||
|
|
|||
|
ينفذ عملية الأسي. يتم رفع المعامل الأيسر إلى قوة المعامل الأيمن
|
|||
|
|
|||
|
12 \*\* 3 = 1728
|
|||
|
|
|||
|
//
|
|||
|
|
|||
|
ينفذ عملية قسم الطابق. إرجاع الجزء المتكامل للحاصل الذي تم الحصول عليه بعد غوص المعامل الأيسر بالمعامل الأيمن
|
|||
|
|
|||
|
18 // 5 = 3
|
|||
|
|
|||
|
ملاحظة: للحصول على النتيجة في نوع عائم ، يجب أن يكون أحد المعاملات أيضًا من نوع عائم.
|
|||
|
|
|||
|
#### مشغلي العلائقية
|
|||
|
|
|||
|
يتم استخدام عامل العلائق لمقارنة المعاملين لتحديد العلاقة بينهما. تقوم بإرجاع قيمة منطقية استنادًا إلى الشرط.
|
|||
|
|
|||
|
المشغل أو العامل
|
|||
|
|
|||
|
وصف
|
|||
|
|
|||
|
استعمال
|
|||
|
|
|||
|
\>
|
|||
|
|
|||
|
إرجاع True إذا كان المعامل الأيسر أكبر من المعامل الأيمن إرجاع False خلاف ذلك
|
|||
|
|
|||
|
12> 3 إرجاع True
|
|||
|
|
|||
|
<
|
|||
|
|
|||
|
إرجاع True إذا كان المعامل الأيمن أكبر من المعامل الأيسر إرجاع False خلاف ذلك
|
|||
|
|
|||
|
12 <3 ترجع خطأ
|
|||
|
|
|||
|
\==
|
|||
|
|
|||
|
إرجاع True إذا كان كلا المعاملات متساوية إرجاع False خلاف ذلك
|
|||
|
|
|||
|
12 == 3 تقوم بإرجاع False
|
|||
|
|
|||
|
\> =
|
|||
|
|
|||
|
إرجاع True إذا كان المعامل الأيسر أكبر من أو يساوي المعامل الأيمن إرجاع False خلاف ذلك
|
|||
|
|
|||
|
12> = 3 ترجع True
|
|||
|
|
|||
|
<=
|
|||
|
|
|||
|
إرجاع True إذا كان المعامل الأيمن أكبر من أو يساوي المعامل الأيسر إرجاع False خلاف ذلك
|
|||
|
|
|||
|
12 <= 3 بإرجاع خطأ
|
|||
|
|
|||
|
! =
|
|||
|
|
|||
|
إرجاع True إذا كان كلا المعاملات غير متساوية إرجاع False خلاف ذلك
|
|||
|
|
|||
|
12! = 3 ترجع True
|
|||
|
|
|||
|
#### مشغلات bitwise
|
|||
|
|
|||
|
يقوم عامل تشغيل البت بإجراء العمليات على المعالجات شيئًا فشيئًا
|
|||
|
|
|||
|
خذ بعين الاعتبار a = 2 (في الترقيم الثنائي ، 10) و b = 3 (في الترقيم الثنائي ، 11) للأعراف أدناه
|
|||
|
|
|||
|
المشغل أو العامل
|
|||
|
|
|||
|
وصف
|
|||
|
|
|||
|
استعمال
|
|||
|
|
|||
|
و
|
|||
|
|
|||
|
ينفذ bitwise AND العملية على المعاملات
|
|||
|
|
|||
|
أ & ب = 2 ثنائي: 10 & 11 = 10
|
|||
|
|
|||
|
|
|
|||
|
|
|||
|
ينفّذ عملية "بالتبويض" أو "OR" في المعاملات
|
|||
|
|
|||
|
أ | ب = 3 ثنائي: 10 | 11 = 11
|
|||
|
|
|||
|
^
|
|||
|
|
|||
|
ينفذ عملية XOR على المعامل
|
|||
|
|
|||
|
a ^ b = 1 ثنائي: 10 ^ 11 = 01
|
|||
|
|
|||
|
~
|
|||
|
|
|||
|
ينفذ bitwise NOT العملية على المعامل يقلب كل بت في المعامل
|
|||
|
|
|||
|
~ أ = -3 ثنائي: ~ (00000010) = (11111101)
|
|||
|
|
|||
|
\>>
|
|||
|
|
|||
|
ينفذ التحول الصحيح بالبت. يغير بتات المعامل الأيسر ، مباشرة بعدد البتات المحددة كمعامل صحيح
|
|||
|
|
|||
|
أ >> ب = 0 Binary: 00000010 >> 00000011 = 0
|
|||
|
|
|||
|
<<
|
|||
|
|
|||
|
ينفّذ تحوُّل جهة اليسار. يغير بتات المعامل الأيسر ، متبقيًا بعدد البتات المحددة كمعامل صحيح
|
|||
|
|
|||
|
أ <b = 16 Binary: 00000010 << 00000011 = 00001000
|
|||
|
|
|||
|
#### مشغلي الواجبات
|
|||
|
|
|||
|
يتم استخدام عامل التشغيل لتعيين قيم للمتغير. يتم دمج هذا عادة مع عوامل التشغيل الأخرى (مثل الحساب ، البايت) حيث يتم تنفيذ العملية على المعاملات ويتم تعيين النتيجة إلى المعامل الأيسر.
|
|||
|
|
|||
|
خذ بعين الاعتبار الأمثلة التالية ، **أ = 18** . هنا `=` هو عامل التنازل ، ويتم تخزين النتيجة في متغير أ. **a + = 10** . هنا `+=` مشغل عامل ، والنتيجة مخزنة في متغير أ. هذا هو نفس a = a + 10.
|
|||
|
|
|||
|
المشغل أو العامل
|
|||
|
|
|||
|
استعمال
|
|||
|
|
|||
|
\=
|
|||
|
|
|||
|
a = 5. يتم تعيين القيمة 5 للمتغير a
|
|||
|
|
|||
|
\+ =
|
|||
|
|
|||
|
a + = 5 يساوي a = a + 5
|
|||
|
|
|||
|
\- =
|
|||
|
|
|||
|
a - = 5 يساوي a = a - 5
|
|||
|
|
|||
|
\* =
|
|||
|
|
|||
|
a \* = 3 يساوي a = a \* 3
|
|||
|
|
|||
|
/ =
|
|||
|
|
|||
|
a / = 3 تعادل a = 3 /
|
|||
|
|
|||
|
٪ =
|
|||
|
|
|||
|
a٪ = 3 يساوي a = a٪ 3
|
|||
|
|
|||
|
\*\* =
|
|||
|
|
|||
|
a \*\* = 3 يساوي a = a \*\* 3
|
|||
|
|
|||
|
// =
|
|||
|
|
|||
|
a // = 3 يساوي a = a // 3
|
|||
|
|
|||
|
& =
|
|||
|
|
|||
|
a & = 3 تعادل a & 3
|
|||
|
|
|||
|
| =
|
|||
|
|
|||
|
a | = 3 يساوي a = a | 3
|
|||
|
|
|||
|
^ =
|
|||
|
|
|||
|
a ^ = 3 يساوي a = a ^ 3
|
|||
|
|
|||
|
\>> =
|
|||
|
|
|||
|
a >> = 3 يساوي a = a >> 3
|
|||
|
|
|||
|
<< =
|
|||
|
|
|||
|
أ <3 = تعادل a = a << 3
|
|||
|
|
|||
|
#### العوامل المنطقية
|
|||
|
|
|||
|
يستخدم المشغل المنطقي لاتخاذ قرار على أساس شروط متعددة. العوامل المنطقية المستخدمة في بايثون هي `and` ، `or` `not`
|
|||
|
|
|||
|
المشغل أو العامل
|
|||
|
|
|||
|
وصف
|
|||
|
|
|||
|
استعمال
|
|||
|
|
|||
|
و
|
|||
|
|
|||
|
إرجاع True إذا كان كلا المعاملات صحيح إرجاع False خلاف ذلك
|
|||
|
|
|||
|
أ و ب
|
|||
|
|
|||
|
أو
|
|||
|
|
|||
|
إرجاع True إذا كان أي أحد من المعاملات هو True إرجاع False خلاف ذلك
|
|||
|
|
|||
|
ا او ب
|
|||
|
|
|||
|
ليس
|
|||
|
|
|||
|
إرجاع True إذا كان المعامل False إرجاع False خلاف ذلك
|
|||
|
|
|||
|
ليس
|
|||
|
|
|||
|
#### مشغلي العضوية
|
|||
|
|
|||
|
يتم استخدام عامل العضوية لتحديد العضوية في أي تسلسل (القوائم ، السلاسل ، الصفوف). `in` `not in` مشغلي العضوية
|
|||
|
|
|||
|
`in` إرجاع True إذا تم العثور على القيمة المحددة في التسلسل. إرجاع False خلاف ذلك. `not in` العودة True إذا لم يتم العثور على القيمة المحددة في التسلسل. إرجاع False خلاف ذلك.
|
|||
|
|
|||
|
###### مثال للاستخدام
|
|||
|
|
|||
|
`a = [1,2,3,4,5]
|
|||
|
|
|||
|
#Is 3 in the list a?
|
|||
|
print 3 in a # prints True
|
|||
|
|
|||
|
#Is 12 not in list a?
|
|||
|
print 12 not in a # prints True
|
|||
|
|
|||
|
str = "Hello World"
|
|||
|
|
|||
|
#Does the string str contain World?
|
|||
|
print "World" in str # prints True
|
|||
|
|
|||
|
#Does the string str contain world? (note: case sensitive)
|
|||
|
print "world" in str # prints False
|
|||
|
|
|||
|
print "code" not in str # prints True
|
|||
|
`
|
|||
|
|
|||
|
#### مشغلي الهوية
|
|||
|
|
|||
|
يتم استخدام عامل هوية للتحقق من مشاركة متغيرين في نفس موقع الذاكرة. `is` `is not` مشغلي الهوية
|
|||
|
|
|||
|
`is` إرجاع True إذا كانت المعاملات تشير إلى نفس الكائن. إرجاع False خلاف ذلك. `is not` إرجاع True إذا كانت المعاملات لا تشير إلى نفس الكائن. إرجاع False خلاف ذلك.
|
|||
|
|
|||
|
يرجى ملاحظة أن القيمتين عند المساواة ، لا تحتاجان إلى أن تكونا متطابقتين.
|
|||
|
|
|||
|
###### مثال للاستخدام
|
|||
|
|
|||
|
`a = 3
|
|||
|
b = 3
|
|||
|
c = 4
|
|||
|
print a is b # prints True
|
|||
|
print a is not b # prints False
|
|||
|
print a is not c # prints True
|
|||
|
|
|||
|
x = 1
|
|||
|
y = x
|
|||
|
z = y
|
|||
|
print z is 1 # prints True
|
|||
|
print z is x # prints True
|
|||
|
|
|||
|
str1 = "FreeCodeCamp"
|
|||
|
str2 = "FreeCodeCamp"
|
|||
|
|
|||
|
print str1 is str2 # prints True
|
|||
|
print "Code" is str2 # prints False
|
|||
|
|
|||
|
a = [10,20,30]
|
|||
|
b = [10,20,30]
|
|||
|
|
|||
|
print a is b # prints False (since lists are mutable in Python)
|
|||
|
`
|