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)
|
||
` |