مضى على الشبكة و يوم من العطاء.

الدرس الثالث : أنواع البيانات (Data Types)

RTH

Developer

السمعة:

بسم الله الرحمن الرحيم
اللهم علّمنا ما ينفعنا وانفعنا بما علّمتنا إنك أنت العليم الحكيم

سنتحدث في هذا الدرس عن أنواع البيانات (String and Numbers) بشكل مُفصّل بإذن الله تعالى.
  1. السلسلة (String) :
  • نوع من أنواع البيانات وهي عبارة عن مجموعة من الأحرف المتتابعة ( جملة معينة أو نص ) تكون داخل علامات اقتباس منفردة ( ' ' ) أو مزدوجة( " " ) ويمكن أن تتضمن أيضًا أرقام و إشارات، كما في المثال :
Python:
"python is a beautiful language"
' python is a beautiful language'

  • ولتخزين ال string واستخدامها في برنامجك يجب تعريف متغير وحفظ ال string فيه كما تعلمنا سابقاً وهذا مثال يوضح لنا تخزين string داخل متغير باسم word
Python:
word = "python is a beautiful language"

  • المرونة في استخدام علامات اقتباس منفردة ( ' ' ) أو مزدوجة( " " ) تمكننا من كتابة علامات الاقتباس المنفردة داخل المزدوجة والعكس صحيح .
    وهنا وجب التنويه إلى تجنب استخدام علامات اقتباس منفردة داخل نص يحتوى على علامات اقتباس منفردة والأمر أيضًا منطبق على علامات الأقتباس المزدوجة فهذا يسبب حدوث syntax error، لاحظ استخدامها بهذه الطريقة في المثال :

Python:
print('I told my friend , 'Python is my favorite language!''
المخرجات :

Python:
File "c:\Users\Desktop\python\tasks\task01\task01.py", line 1
    print('I told my friend , 'Python is my favorite language!'')
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: invalid syntax. Perhaps you forgot a comma?

في هذا المثال عند بدء مفسر بايثون بأمر الطباعة ،يقوم بطباعة النص بدءًا من علامة الاقتباس المنفردة الاولى وعند وصوله إلى علامة الاقتباس التالية اعتبر أن فتح هذه العلامة هي إغلاق للعلامة السابقة ولهذا لم يستطع تفسير بقية النص -python is my favorite language- على أنه أمر برمجي صحيح ولهذا نتج syntax error .

  • من ميّزات اللغة إمكانية استخدام ما يعرف بالدّوال (Methods) وهي مجموعة من الأوامر يمكن لبايثون تطبيقها على أنواع البيانات المختلفة .
  • طريقة استخدام الدوال (Methods) هي طريقة سهله جداً فقط تذهب إلى مكان استخدامك للمتغير الذي تخزن فيه النص وتضع بعد اسم المتغير نقطة ( dot ) وستظهر لك جميع الدّوال التي يمكنك استخدامها وتطبيقها على المتغير وجميع الدوال تتبعها أقواس لأنها قد تحتاج معلومات إضافية للقيام بعملها منها ما يحتاج إلى معلومات تُضمّنها داخل أقواس بنفس الدّالة (Method) والبعض الآخر لا يحتاج.
  • تساعد الدّوال على القيام ببعض العمليات على النصوص كتحويل حالة النص من حالة إلى أخرى من غير حاجة المبرمج إلى تعديلها، ومن هذه الدّوال :
  1. title () : هذه الدالة تقوم بتحويل حالة كل كلمة داخل السلسلة إلى حالة عنوان ( أي تحويل أول حرف من الكلمة إلى حرف كبير وباقي أحرف الكلمة إلى أحرف صغيرة) ،وأيضًا لا تحتاج إلى معلومات إضافية تضمنها داخل الأقواس فتُترَك فارغة، كما في المثال التالي :
Python:
name = "pytHon courSE"
print(name.title())
المخرجات :
Python:
Python Course

معلومة: يمكن الإستفادة من الدالة title في إمكانية تحويل قيم الإدخال التالية (shell, SHELL ,Shell) لنفس الإسم ويعرفها البرنامج جميعًا بإسم (Shell)

2. upper() & lower() : دالة ال upper() تقوم بتحويل كل أحرف النص إلى أحرف كبيرة ، ودالة الlower() تقوم بتحويل كل أحرف النص إلى أحرف صغيرة كما في المثال :
Python:
name ="Arabian Shell Network"
print(name.upper())
print(name.lower())
المخرجات :
Python:
ARABIAN SHELL NETWORK
arabian shell network

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

  • من الممكن دمج أكثر من متغير وطباعتها كلها كنص واحد, على سبيل المثال لو أردنا طباعة اسم العالِم Guido van Rossum يمكننا وضع اسم Guido van بمتغير، ووضع اسم Rossum بمتغير آخر، ومن ثم دمج كلاهما بمتغير واحد عن طريق استخدام التنسيق format الذي نشير إليه بالحرف f والذي بدوره يقوم بأخذ القيم الموجودة بكلا المتغيرات ودمجها سويًا داخل متغير كنص واحد، كما في المثال التالي :
Python:
first_name = "Guido van"
last_name = "Rossum"
full_name = f"{first_name} {last_name}"
print(full_name)
المخرجات :
Python:
Guido van Rossum
بدايةً عرّفنا متغير بإسم first_name ووضعنا فيه الإسم الأول (Guido van) ومن ثم عرّفنا متغير آخر ووضعنا فيه الإسم الأخير (Rossum) ،وبعد ذلك عرّفنا متغير بإسم full_name ، لنقوم بدمج الإسم الأول مع الأخير يكون ذلك بكتابة الحرف f متبوعًا بعلامات اقتباس ومن ثم وضع كل متغير مراد دمجه داخل أقواس حيث يقوم بايثون بأخذ قيم هذه المتغيرات ودمجها سويًا داخل المتغير full_name , ويطلق على السلسلة (full_name) اسم f_string.

معلومة: من الممكن دمج أكثر من متغير بنفس جملة الطباعة كما في المثال :
Python:
first_name = "Guido van"
last_name = "Rossum"
full_name = f"{first_name} {last_name}"
print(full_name)
المخرجات :
Python:
Guido van Rossum
ويمكن فعل المزيد باستخدام f-string، على سبيل المثال يمكن استخدامها لدمج نص مع معلومات مخزّنة داخل متغيّر معيّن .
Python:
first_name = "Guido van"
last_name = "Rossum"
full_name = f"{first_name} {last_name}"
print(f"{full_name} is the one who developed the python language")
المخرجات :
Python:
Guido van Rossum is the one who developed the python language
التطبيقات على f-string كثيرة فلا تقتصر على الأمثلة المعطاة .

تدريب: قم بدمج ال first_name مع ال last_name ولكن بجعل ال full_name بحالة حروف كبيرة upper case

معلومة: من الممكن دمج أكثر من متغيّر باستخدام رمز (+) بين أسماء المتغيرات المراد دمج قيمها :
Python:
first_name = "Guido van"
last_name = " Rossum"
print(first_name + last_name)
المخرجات :
Python:
Guido van Rossum

  • في لغة البرمجة Python، هناك بعض الحروف التي تعمل عمل خاص عند وضع ( \ )قبلها وتسمى (Character Escape sequences) ،وتستخدم في داخل النص المراد طباعته ، منها :
  1. n \: تستخدم لإضافة سطر جديد .
  2. t\ : تستخدم لإضافة مسافة (Tab) تتكون من 6 حروف .
  3. \\ : تستخدم لطباعة فاصلة مائلة (Backslash) في النص .
  4. ' \: تستخدم لطباعة علامة اقتباس منفردة (Single Quote) في النص .
  5. "\ : تستخدم لطباعة علامة اقتباس مزدوجة (Double Quote) في النص .
  6. b\ : تستخدم لحذف الحرف السابق لها .
  7. r\ : تستخدم في تبديل الحروف الموجودة بداية النص بالحروف الموجودة بعد r\ .
وهذا المثال يوضح بعض هذه ال Character Escape sequences :
Python:
print('Welcome to\nShell')
print('....................')
print('Welcome to\bShell')
print('....................')
print('Welcome to\rShell')
المخرجات:
Python:
Welcome to
Shell
....................
Welcome tShell
....................
Shellme to

معلومة: قد تحتاج إلى كتابة نص واحد على أكثر من سطر ولأن جملة الطباعة يجب أن تغلق على نفس السطر سيحدث خطأ بسبب عدم إغلاقها والانتقال إلى السطر الجديد .
لتجنب ذلك نقوم بوضع (\) بنهاية كل سطر وحتى السطر الأخير، كما في المثال :


Python:
print('Welcome \
to \
Shell')
المخرجات :
Python:
Welcome to Shell


تدريب: اكتب برنامج باستخدام Character Escape sequences يعرض الناتج على الشكل التالي :
Programing Languages:
"Python"
++C

' JavaScript'

  • كما تحدثنا بأن لغات البرمجة صارمة إلا أنها تتجاهل التهجئة الجيدة أو السيئة فمثلًا لو قمنا بكتابة "python " على هذا الشكل وكتبنا أيضاً "python"، عند النظر إلى الكلمتين فلن نجد أي فرق بينهما ولكن مفسر بايثون يرى الكلمتين مختلفتين والسبب في ذلك أنه يعتبر الفراغ (space) حرف. في بعض الأحيان قد يتسبب هذا الفراغ بنشوء مشكلة خصوصًا عندما تريد المقارنة بين تطابق كلمة مع كلمة أخرى ، كأن تريد مثلًا فحص أسماء مستخدمين عند تسجيل دخولهم إلى موقع ويب فمن الممكن أن يكون الإسم المثبت في قاعدة البيانات من غير وجود أي فراغ ولكن عند كتابة اسمك للدخول إلى الموقع أحدثْتَ بعض الفراغات، بهذا لن يتعرف الموقع عليك بسبب عدم وجود تطابق بين الكلمتين، ولكن هناك بعض الدّوال في لغة بايثون قد قامت بحل هذه المشكلة عن طريق حذف أي فراغ موجود على جوانب النص وهي :
  1. rstrip : وهذه الطريقة تقوم بحذف الفراغات من جهة اليمين right .
  2. lstrip : وهذه الطريقة تقوم بحذف الفراغات من جهة اليسار left .
  3. strip : وهذه الطريقة تقوم بحذف الفراغات من جهة اليمين واليسار .
كما في المثال التالي :
Python:
favorite_language = '  python  '
print(favorite_language.rstrip())
print(favorite_language.lstrip())
print(favorite_language.strip())
المخرجات:
Python:
   python
python
python
ويتم استخدام هذه الدّوال كما تحدثنا سابقًا بوضع نقطة (dot) وكتابة هذه الدّالة متبوعة بأقواس فارغة ( لا تحتوي معلومات ) ففي السطر الثاني قام بحذف الفراغات الموجودة على يمين النص ولكن لم يتم حذف الفراغات الموجودة على يسار النص ، وفي السطر الثالث قام بحذف الفراغات الموجودة على يسار النص ولكن لم يتم حذف الفراغات الموجودة على يمين النص ، وفي السطر الرابع قام بحذف الفراغات الموجودة على يمين ويسار النص ،
هذا ويجب الإنتباه إلى أن هذه الدّوال تقوم بإزالة الفراغ بشكل مؤقت (عند الطباعة فقط) أما إذا كنت تريد حذف الفراغ بشكل كامل، هنا يجب التعديل على قيمة المتغير الأصلي وإعطاءه قيمة جديدة، كما في المثال :
Python:
favorite_language = '  python  '
print(favorite_language.strip())
print(favorite_language)
favorite_language = favorite_language.strip()
print(favorite_language
  • من المهام الشائعة في السلاسل إزالة البادئة (prefix) لرابط معين ، مثلًا لو كان لديك الرابط التالي: https://sh3ll.cloud , ونريد فقط التركيز على اسم الموقع sh3ll.cloud الذي يحتاج المستخدم ادخاله إلى شريط العناوين (address bar) دون كتابة البادئة https:// . هنا سنقوم باستخدام دالة (Method) جديدة تسمى removeprefix() ، لكن انتبه هذه الدالة تحتاج إلى معلومات تضمنها داخل الأقواس () وهذه المعلومات هي البادئة التي تريد ازالتها https:// كما في المثال التالي :
Python:
url = "https://sh3ll.cloud"
print(url.removeprefix("https://")
المخرجات:
Python:
sh3ll.cloud
  • هذا وتقوم الدالة removeprefix() بإزالة البادئة بشكل مؤقت (عند الطباعة فقط) كما في الدالة strip.
معلومة: استخدام ال triple quote( """ ) يعطي مرونة أكثر لجمل الطباعة حيث تستطيع من خلالها عمل التالي :
1. طباعة علامات الاقتباس المنفردة والمزدوجة سويًا داخل نص واحد دون حدوث خطأ .
2. طباعة نص على أكثر من سطر دون الحاجة إلى وضع (\) آخر السطر.
كما في المثال :

Python:
print("""Welcome
"to"
'Shell'""")
المخرجات:
Python:
Welcome
"to"
'Shell'


2. الأعداد (Numbers) :
  • تستخدم الأعداد بشكل واسع في عالم البرمجة لعدة أغراض مثل الحفاظ على النتيجة في الألعاب، تمثيل البيانات في الرسومات التوضيحية، تخزين المعلومات في تطبيقات الويب، وما إلى ذلك.
  • الأعداد بطبيعتها يمكن أن نقسمها إلى أعداد صحيحة (Integers) وهي الأعداد التي تخلو من أي فواصل عشريه مثل : 4 , 200 , -56 ، وإلى أعداد عشرية (Floats) وهي الأعداد التي تحوي فواصل عشرية مثل : 6.84 , 500.70 1.003 - .
  • يمكننا تطبيق جميع العمليات الحسابية على هذه الأعداد في لغة بايثون والتي تشمل ( + الجمع ، - الطرح ، * الضرب ، / القسمة و % باقي القسمة ) علمًا أن اللغة تدعم استخدام أولويات العمليات الحسابية عند حساب ناتج أي تعبير رياضي .
  • لاستخدام الأسس سنقوم بوضع إشارتي ضرب ** بين الأساس والأس .
  • عند قسمة عدد صحيح على عدد صحيح فإن الناتج يعطي عدد عشري ، وأيضًا عند إجراء أي عملية حسابية لعدد صحيح مع عدد عشري فإن الناتج يكون عدد عشري .
معلومة: تسمى الأعداد العشرية بالأعداد العائمة لأن العلامة العشرية يمكن أن تظهر في أي منزلة في العدد .

وفي ما يلي مثال على العمليات الحسابية:

Python:
n = 2+4
print("2+4 =" , n)
n = 5-7
print("5-7 =" , n)
n = 4%3
print("4%3 =" , n)
n = 18/9
print("18/9 =" , n)
n = 5**3
print("5**3 =" , n)
n = 2.3+5
print("2.3+5 =" , n)
n = 8*4.2
print("8*4.2 =" , n)
n = 0.3 + 0.3
print("0.3+0.3 =" , n)
n = 6%4.8
print("6%4.8 =" , n)
المخرجات :
Python:
2+4 = 6
5-7 = -2
4%3 = 1
18/9 = 2.0
5**3 = 125
2.3+5 = 7.3
8*4.2 = 33.6
0.3+0.3 = 0.6
6%4.8 = 1.2000000000000002
  • عندما تريد كتابة رقم يحتوي عدد كبير من الخانات مثل 14579264358 ، هذا الرقم من الصعب على قارئ البرنامج قراءته لذا فإن لغة بايثون تسمح لك بالفصل بين الخانات باستخدام الشرطة السفلية (Underscore _ ) هذا وانها لن تظهر عند طباعة الرقم كما في المثال :
Python:
n = 145_792_643_58
print(n)
المخرجات :
Python:
14579264358
معلومة: تتيح لغة بايثون إمكانية تعريف أكثر من متغير على نفس السطر في البرنامج وذلك لتقليل عدد الأسطر في برنامجك فمثلًا لو كنت تريد تعريف 3 متغيرات x , y , z وكل متغير يحمل رقم معين وليكن x=3 , y=78 , z= -5 يمكنك كتابتها على النحو التالي كما في المثال :
Python:
x , y ,z = 3 ,78 ,-5
print("x =",x,", y=",y,", z=",z)
المخرجات :
Python:
x = 3 , y= 78 , z= -5

تدريب: قم بعمل برنامج بحتوي على متغيرين x و y وقم بإعطاء قيمتين لهما ،ثم قم بحساب ناتج التعبير التالي : 5 * x + 6%y -9

  • الثوابت (Constants) : هي قيم لا يمكن التعديل عليها ، عكس المتغير الذي يمكن التعديل على قيمته متى شئت , على سبيل المثال هناك بعض القيم الرياضية الثابته كقيمة π التي تساوي 3.14 .هذا وليس من الضرورة أن تكون الثوابت قيم معروفة كـ π، فمن الممكن أنه عند كتابتك لبرنامج معين أردت تثبيت قيمة محددة ولا تريد تغييرها حتى نهاية البرنامج كقيمة الحد الأدنى والأعلى للرواتب حسب كل شركة أو جهة معينة .
  • لا تحتوي بايثون على أنواع بيانات ثابتة كباقي لغات البرمجة لكن مبرمجي بايثون يقومون بكتابة هذه القيم بمتغيرات ويكون اسم هذه المتغيرات كاملًا بالأحرف الكبيرة على أن المتغير يجب أن يعامل معاملة الثابت، كما في المثال :
Python:
MAX_CONNECTIONS = 5000
وبهذا نكون بحمد الله وفضله أتممنا موضوعنا
دمتم بحفظ الله ورعايته
 
بسم الله الرحمن الرحيم
اللهم علّمنا ما ينفعنا وانفعنا بما علّمتنا إنك أنت العليم الحكيم

سنتحدث في هذا الدرس عن أنواع البيانات (String and Numbers) بشكل مُفصّل بإذن الله تعالى.
  1. السلسلة (String) :
  • نوع من أنواع البيانات وهي عبارة عن مجموعة من الأحرف المتتابعة ( جملة معينة أو نص ) تكون داخل علامات اقتباس منفردة ( ' ' ) أو مزدوجة( " " ) ويمكن أن تتضمن أيضًا أرقام و إشارات، كما في المثال :
Python:
"python is a beautiful language"
' python is a beautiful language'

  • ولتخزين ال string واستخدامها في برنامجك يجب تعريف متغير وحفظ ال string فيه كما تعلمنا سابقاً وهذا مثال يوضح لنا تخزين string داخل متغير باسم word :
Python:
word = "python is a beautiful language"

  • المرونة في استخدام علامات اقتباس منفردة ( ' ' ) أو مزدوجة( " " ) تمكننا من كتابة علامات الاقتباس المنفردة داخل المزدوجة والعكس صحيح .
    وهنا وجب التنويه إلى تجنب استخدام علامات اقتباس منفردة داخل نص يحتوى على علامات اقتباس منفردة والأمر أيضًا منطبق على علامات الأقتباس المزدوجة فهذا يسبب حدوث syntax error، لاحظ استخدامها بهذه الطريقة في المثال :

Python:
print('I told my friend , 'Python is my favorite language!''
المخرجات :

Python:
File "c:\Users\Desktop\python\tasks\task01\task01.py", line 1
    print('I told my friend , 'Python is my favorite language!'')
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: invalid syntax. Perhaps you forgot a comma?

في هذا المثال عند بدء مفسر بايثون بأمر الطباعة ،يقوم بطباعة النص بدءًا من علامة الاقتباس المنفردة الاولى وعند وصوله إلى علامة الاقتباس التالية اعتبر أن فتح هذه العلامة هي إغلاق للعلامة السابقة ولهذا لم يستطع تفسير بقية النص -python is my favorite language- على أنه أمر برمجي صحيح ولهذا نتج syntax error .

  • من ميّزات اللغة إمكانية استخدام ما يعرف بالدّوال (Methods) وهي مجموعة من الأوامر يمكن لبايثون تطبيقها على أنواع البيانات المختلفة .
  • طريقة استخدام الدوال (Methods) هي طريقة سهله جداً فقط تذهب إلى مكان استخدامك للمتغير الذي تخزن فيه النص وتضع بعد اسم المتغير نقطة ( dot ) وستظهر لك جميع الدّوال التي يمكنك استخدامها وتطبيقها على المتغير وجميع الدوال تتبعها أقواس لأنها قد تحتاج معلومات إضافية للقيام بعملها منها ما يحتاج إلى معلومات تُضمّنها داخل أقواس بنفس الدّالة (Method) والبعض الآخر لا يحتاج.
  • تساعد الدّوال على القيام ببعض العمليات على النصوص كتحويل حالة النص من حالة إلى أخرى من غير حاجة المبرمج إلى تعديلها، ومن هذه الدّوال :
  1. title () : هذه الدالة تقوم بتحويل حالة كل كلمة داخل السلسلة إلى حالة عنوان ( أي تحويل أول حرف من الكلمة إلى حرف كبير وباقي أحرف الكلمة إلى أحرف صغيرة) ،وأيضًا لا تحتاج إلى معلومات إضافية تضمنها داخل الأقواس فتُترَك فارغة، كما في المثال التالي :
Python:
name = "pytHon courSE"
print(name.title())
المخرجات :
Python:
Python Course

يمكن الإستفادة من الدالة title في إمكانية تحويل قيم الإدخال التالية (shell, SHELL ,Shell) لنفس الإسم ويعرفها البرنامج جميعًا بإسم (Shell) .

2. upper() & lower() : دالة ال upper() تقوم بتحويل كل أحرف النص إلى أحرف كبيرة ، ودالة الlower() تقوم بتحويل كل أحرف النص إلى أحرف صغيرة كما في المثال :
Python:
name ="Arabian Shell Network"
print(name.upper())
print(name.lower())
المخرجات :
Python:
ARABIAN SHELL NETWORK
arabian shell network

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

  • من الممكن دمج أكثر من متغير وطباعتها كلها كنص واحد, على سبيل المثال لو أردنا طباعة اسم العالِم Guido van Rossum يمكننا وضع اسم Guido van بمتغير، ووضع اسم Rossum بمتغير آخر، ومن ثم دمج كلاهما بمتغير واحد عن طريق استخدام التنسيق format الذي نشير إليه بالحرف f والذي بدوره يقوم بأخذ القيم الموجودة بكلا المتغيرات ودمجها سويًا داخل متغير كنص واحد، كما في المثال التالي :
Python:
first_name = "Guido van"
last_name = "Rossum"
full_name = f"{first_name} {last_name}"
print(full_name)
المخرجات :
Python:
Guido van Rossum
بدايةً عرّفنا متغير بإسم first_name ووضعنا فيه الإسم الأول (Guido van) ومن ثم عرّفنا متغير آخر ووضعنا فيه الإسم الأخير (Rossum) ،وبعد ذلك عرّفنا متغير بإسم full_name ، لنقوم بدمج الإسم الأول مع الأخير يكون ذلك بكتابة الحرف f متبوعًا بعلامات اقتباس ومن ثم وضع كل متغير مراد دمجه داخل أقواس حيث يقوم بايثون بأخذ قيم هذه المتغيرات ودمجها سويًا داخل المتغير full_name , ويطلق على السلسلة (full_name) اسم f_string.

من الممكن دمج أكثر من متغير بنفس جملة الطباعة كما في المثال :
Python:
first_name = "Guido van"
last_name = "Rossum"
full_name = f"{first_name} {last_name}"
print(full_name)
المخرجات :
Python:
Guido van Rossum
ويمكن فعل المزيد باستخدام f-string، على سبيل المثال يمكن استخدامها لدمج نص مع معلومات مخزّنة داخل متغيّر معيّن .
Python:
first_name = "Guido van"
last_name = "Rossum"
full_name = f"{first_name} {last_name}"
print(f"{full_name} is the one who developed the python language")
المخرجات :
Python:
Guido van Rossum is the one who developed the python language
التطبيقات على f-string كثيرة فلا تقتصر على الأمثلة المعطاة .

قم بدمج ال first_name مع ال last_name ولكن بجعل ال full_name بحالة حروف كبيرة upper case

من الممكن دمج أكثر من متغيّر باستخدام رمز (+) بين أسماء المتغيرات المراد دمج قيمها :
Python:
first_name = "Guido van"
last_name = " Rossum"
print(first_name + last_name)
المخرجات :
Python:
Guido van Rossum

  • في لغة البرمجة Python، هناك بعض الحروف التي تعمل عمل خاص عند وضع ( \ )قبلها وتسمى (Character Escape sequences) ،وتستخدم في داخل النص المراد طباعته ، منها :
  1. n \: تستخدم لإضافة سطر جديد .
  2. t\ : تستخدم لإضافة مسافة (Tab) تتكون من 6 حروف .
  3. \\ : تستخدم لطباعة فاصلة مائلة (Backslash) في النص .
  4. ' \: تستخدم لطباعة علامة اقتباس منفردة (Single Quote) في النص .
  5. "\ : تستخدم لطباعة علامة اقتباس مزدوجة (Double Quote) في النص .
  6. b\ : تستخدم لحذف الحرف السابق لها .
  7. r\ : تستخدم في تبديل الحروف الموجودة بداية النص بالحروف الموجودة بعد r\ .
وهذا المثال يوضح بعض هذه ال Character Escape sequences :
Python:
print('Welcome to\nShell')
print('....................')
print('Welcome to\bShell')
print('....................')
print('Welcome to\rShell')
المخرجات:
Python:
Welcome to
Shell
....................
Welcome tShell
....................
Shellme to

قد تحتاج إلى كتابة نص واحد على أكثر من سطر ولأن جملة الطباعة يجب أن تغلق على نفس السطر سيحدث خطأ بسبب عدم إغلاقها والانتقال إلى السطر الجديد .
لتجنب ذلك نقوم بوضع (\) بنهاية كل سطر وحتى السطر الأخير، كما في المثال :


Python:
print('Welcome \
to \
Shell')
المخرجات :
Python:
Welcome to Shell


اكتب برنامج باستخدام Character Escape sequences يعرض الناتج على الشكل التالي :
Programing Languages:
"Python"
++C

' JavaScript'

  • كما تحدثنا بأن لغات البرمجة صارمة إلا أنها تتجاهل التهجئة الجيدة أو السيئة فمثلًا لو قمنا بكتابة "python " على هذا الشكل وكتبنا أيضاً "python"، عند النظر إلى الكلمتين فلن نجد أي فرق بينهما ولكن مفسر بايثون يرى الكلمتين مختلفتين والسبب في ذلك أنه يعتبر الفراغ (space) حرف. في بعض الأحيان قد يتسبب هذا الفراغ بنشوء مشكلة خصوصًا عندما تريد المقارنة بين تطابق كلمة مع كلمة أخرى ، كأن تريد مثلًا فحص أسماء مستخدمين عند تسجيل دخولهم إلى موقع ويب فمن الممكن أن يكون الإسم المثبت في قاعدة البيانات من غير وجود أي فراغ ولكن عند كتابة اسمك للدخول إلى الموقع أحدثْتَ بعض الفراغات، بهذا لن يتعرف الموقع عليك بسبب عدم وجود تطابق بين الكلمتين، ولكن هناك بعض الدّوال في لغة بايثون قد قامت بحل هذه المشكلة عن طريق حذف أي فراغ موجود على جوانب النص وهي :
  1. rstrip : وهذه الطريقة تقوم بحذف الفراغات من جهة اليمين right .
  2. lstrip : وهذه الطريقة تقوم بحذف الفراغات من جهة اليسار left .
  3. strip : وهذه الطريقة تقوم بحذف الفراغات من جهة اليمين واليسار .
كما في المثال التالي :
Python:
favorite_language = '  python  '
print(favorite_language.rstrip())
print(favorite_language.lstrip())
print(favorite_language.strip())
المخرجات:
Python:
   python
python
python
ويتم استخدام هذه الدّوال كما تحدثنا سابقًا بوضع نقطة (dot) وكتابة هذه الدّالة متبوعة بأقواس فارغة ( لا تحتوي معلومات ) ففي السطر الثاني قام بحذف الفراغات الموجودة على يمين النص ولكن لم يتم حذف الفراغات الموجودة على يسار النص ، وفي السطر الثالث قام بحذف الفراغات الموجودة على يسار النص ولكن لم يتم حذف الفراغات الموجودة على يمين النص ، وفي السطر الرابع قام بحذف الفراغات الموجودة على يمين ويسار النص ،
هذا ويجب الإنتباه إلى أن هذه الدّوال تقوم بإزالة الفراغ بشكل مؤقت (عند الطباعة فقط) أما إذا كنت تريد حذف الفراغ بشكل كامل، هنا يجب التعديل على قيمة المتغير الأصلي وإعطاءه قيمة جديدة، كما في المثال :
Python:
favorite_language = '  python  '
print(favorite_language.strip())
print(favorite_language)
favorite_language = favorite_language.strip()
print(favorite_language
  • من المهام الشائعة في السلاسل إزالة البادئة (prefix) لرابط معين ، مثلًا لو كان لديك الرابط التالي: https://sh3ll.cloud , ونريد فقط التركيز على اسم الموقع sh3ll.cloud الذي يحتاج المستخدم ادخاله إلى شريط العناوين (address bar) دون كتابة البادئة https:// . هنا سنقوم باستخدام دالة (Method) جديدة تسمى removeprefix() ، لكن انتبه هذه الدالة تحتاج إلى معلومات تضمنها داخل الأقواس () وهذه المعلومات هي البادئة التي تريد ازالتها https:// كما في المثال التالي :
Python:
url = "https://sh3ll.cloud"
print(url.removeprefix("https://")
المخرجات:
Python:
sh3ll.cloud
  • هذا وتقوم الدالة removeprefix() بإزالة البادئة بشكل مؤقت (عند الطباعة فقط) كما في الدالة strip.

2. الأعداد (Numbers) :
  • تستخدم الأعداد بشكل واسع في عالم البرمجة لعدة أغراض مثل الحفاظ على النتيجة في الألعاب، تمثيل البيانات في الرسومات التوضيحية، تخزين المعلومات في تطبيقات الويب، وما إلى ذلك.
  • الأعداد بطبيعتها يمكن أن نقسمها إلى أعداد صحيحة (Integers) وهي الأعداد التي تخلو من أي فواصل عشريه مثل : 4 , 200 , -56 ، وإلى أعداد عشرية (Floats) وهي الأعداد التي تحوي فواصل عشرية مثل : 6.84 , 500.70 1.003 - .
  • يمكننا تطبيق جميع العمليات الحسابية على هذه الأعداد في لغة بايثون والتي تشمل ( + الجمع ، - الطرح ، * الضرب ، / القسمة و % باقي القسمة ) علمًا أن اللغة تدعم استخدام أولويات العمليات الحسابية عند حساب ناتج أي تعبير رياضي .
  • لاستخدام الأسس سنقوم بوضع إشارتي ضرب ** بين الأساس والأس .
  • عند قسمة عدد صحيح على عدد صحيح فإن الناتج يعطي عدد عشري ، وأيضًا عند إجراء أي عملية حسابية لعدد صحيح مع عدد عشري فإن الناتج يكون عدد عشري .
تسمى الأعداد العشرية بالأعداد العائمة لأن العلامة العشرية يمكن أن تظهر في أي منزلة في العدد .

وفي ما يلي مثال على العمليات الحسابية:

Python:
n = 2+4
print("2+4 =" , n)
n = 5-7
print("5-7 =" , n)
n = 4%3
print("4%3 =" , n)
n = 18/9
print("18/9 =" , n)
n = 5**3
print("5**3 =" , n)
n = 2.3+5
print("2.3+5 =" , n)
n = 8*4.2
print("8*4.2 =" , n)
n = 0.3 + 0.3
print("0.3+0.3 =" , n)
n = 6%4.8
print("6%4.8 =" , n)
المخرجات :
Python:
2+4 = 6
5-7 = -2
4%3 = 1
18/9 = 2.0
5**3 = 125
2.3+5 = 7.3
8*4.2 = 33.6
0.3+0.3 = 0.6
6%4.8 = 1.2000000000000002
  • عندما تريد كتابة رقم يحتوي عدد كبير من الخانات مثل 14579264358 ، هذا الرقم من الصعب على قارئ البرنامج قراءته لذا فإن لغة بايثون تسمح لك بالفصل بين الخانات باستخدام الشرطة السفلية (Underscore _ ) هذا وانها لن تظهر عند طباعة الرقم كما في المثال :
Python:
n = 145_792_643_58
print(n)
المخرجات :
Python:
14579264358
تتيح لغة بايثون إمكانية تعريف أكثر من متغير على نفس السطر في البرنامج وذلك لتقليل عدد الأسطر في برنامجك فمثلًا لو كنت تريد تعريف 3 متغيرات x , y , z وكل متغير يحمل رقم معين وليكن x=3 , y=78 , z= -5 يمكنك كتابتها على النحو التالي كما في المثال :
Python:
x , y ,z = 3 ,78 ,-5
print("x =",x,", y=",y,", z=",z)
المخرجات :
Python:
x = 3 , y= 78 , z= -5

قم بعمل برنامج بحتوي على متغيرين x و y وقم بإعطاء قيمتين لهما ،ثم قم بحساب ناتج التعبير التالي : 5 * x + 6%y -9

  • الثوابت (Constants) : هي قيم لا يمكن التعديل عليها ، عكس المتغير الذي يمكن التعديل على قيمته متى شئت , على سبيل المثال هناك بعض القيم الرياضية الثابته كقيمة π التي تساوي 3.14 .هذا وليس من الضرورة أن تكون الثوابت قيم معروفة كـ π، فمن الممكن أنه عند كتابتك لبرنامج معين أردت تثبيت قيمة محددة ولا تريد تغييرها حتى نهاية البرنامج كقيمة الحد الأدنى والأعلى للرواتب حسب كل شركة أو جهة معينة .
  • لا تحتوي بايثون على أنواع بيانات ثابتة كباقي لغات البرمجة لكن مبرمجي بايثون يقومون بكتابة هذه القيم بمتغيرات ويكون اسم هذه المتغيرات كاملًا بالأحرف الكبيرة على أن المتغير يجب أن يعامل معاملة الثابت، كما في المثال :
Python:
MAX_CONNECTIONS = 5000
وبهذا نكون بحمد الله وفضله أتممنا موضوعنا
دمتم بحفظ الله ورعايته
ما شاء الله كتابة وشرح متعوب عليهم ✨
يعطيك العافية
 
تدريب : قم بدمج ال first_name مع ال last_name ولكن بجعل ال full_name بحالة حروف كبيرة upper case
Python:
first_name = "Guido van"
last_name = "Rossum"

full_name = (first_name +" "+ last_name).upper()
print(full_name)
اكتب برنامج باستخدام Character Escape sequences يعرض الناتج على الشكل التالي :
Programing Languages:
"Python"
++C

' JavaScript'
Python:
print('Programing Languages: \
"Python" \
++C \
''JavaScript''')
قم بعمل برنامج بحتوي على متغيرين x و y وقم بإعطاء قيمتين لهما ،ثم قم بحساب ناتج التعبير التالي : 5 * x + 6%y -9
Python:
x = 12
y = 7
result = x + 6 % y - 9 * 5
print(result)

حليت التدريبات والله يعطيك الف عافيه وبارك الله فيك <3

ننتظر جديد الدورة دائماً ❤️
 
  • Love
التفاعلات: RTH
Python:
first_name = "Guido van"
last_name = "Rossum"

full_name = (first_name +" "+ last_name).upper()
print(full_name)

Python:
print('Programing Languages: \
"Python" \
++C \
''JavaScript''')

Python:
x = 12
y = 7
result = x + 6 % y - 9 * 5
print(result)

حليت التدريبات والله يعطيك الف عافيه وبارك الله فيك <3

ننتظر جديد الدورة دائماً ❤️
ما شاء الله, الله يعطيك الف عافية🤍
 
  • Love
التفاعلات: STORM
بسم الله الرحمن الرحيم
اللهم علّمنا ما ينفعنا وانفعنا بما علّمتنا إنك أنت العليم الحكيم

سنتحدث في هذا الدرس عن أنواع البيانات (String and Numbers) بشكل مُفصّل بإذن الله تعالى.
  1. السلسلة (String) :
  • نوع من أنواع البيانات وهي عبارة عن مجموعة من الأحرف المتتابعة ( جملة معينة أو نص ) تكون داخل علامات اقتباس منفردة ( ' ' ) أو مزدوجة( " " ) ويمكن أن تتضمن أيضًا أرقام و إشارات، كما في المثال :
Python:
"python is a beautiful language"
' python is a beautiful language'

  • ولتخزين ال string واستخدامها في برنامجك يجب تعريف متغير وحفظ ال string فيه كما تعلمنا سابقاً وهذا مثال يوضح لنا تخزين string داخل متغير باسم word
Python:
word = "python is a beautiful language"

  • المرونة في استخدام علامات اقتباس منفردة ( ' ' ) أو مزدوجة( " " ) تمكننا من كتابة علامات الاقتباس المنفردة داخل المزدوجة والعكس صحيح .
    وهنا وجب التنويه إلى تجنب استخدام علامات اقتباس منفردة داخل نص يحتوى على علامات اقتباس منفردة والأمر أيضًا منطبق على علامات الأقتباس المزدوجة فهذا يسبب حدوث syntax error، لاحظ استخدامها بهذه الطريقة في المثال :

Python:
print('I told my friend , 'Python is my favorite language!''
المخرجات :

Python:
File "c:\Users\Desktop\python\tasks\task01\task01.py", line 1
    print('I told my friend , 'Python is my favorite language!'')
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: invalid syntax. Perhaps you forgot a comma?

في هذا المثال عند بدء مفسر بايثون بأمر الطباعة ،يقوم بطباعة النص بدءًا من علامة الاقتباس المنفردة الاولى وعند وصوله إلى علامة الاقتباس التالية اعتبر أن فتح هذه العلامة هي إغلاق للعلامة السابقة ولهذا لم يستطع تفسير بقية النص -python is my favorite language- على أنه أمر برمجي صحيح ولهذا نتج syntax error .

  • من ميّزات اللغة إمكانية استخدام ما يعرف بالدّوال (Methods) وهي مجموعة من الأوامر يمكن لبايثون تطبيقها على أنواع البيانات المختلفة .
  • طريقة استخدام الدوال (Methods) هي طريقة سهله جداً فقط تذهب إلى مكان استخدامك للمتغير الذي تخزن فيه النص وتضع بعد اسم المتغير نقطة ( dot ) وستظهر لك جميع الدّوال التي يمكنك استخدامها وتطبيقها على المتغير وجميع الدوال تتبعها أقواس لأنها قد تحتاج معلومات إضافية للقيام بعملها منها ما يحتاج إلى معلومات تُضمّنها داخل أقواس بنفس الدّالة (Method) والبعض الآخر لا يحتاج.
  • تساعد الدّوال على القيام ببعض العمليات على النصوص كتحويل حالة النص من حالة إلى أخرى من غير حاجة المبرمج إلى تعديلها، ومن هذه الدّوال :
  1. title () : هذه الدالة تقوم بتحويل حالة كل كلمة داخل السلسلة إلى حالة عنوان ( أي تحويل أول حرف من الكلمة إلى حرف كبير وباقي أحرف الكلمة إلى أحرف صغيرة) ،وأيضًا لا تحتاج إلى معلومات إضافية تضمنها داخل الأقواس فتُترَك فارغة، كما في المثال التالي :
Python:
name = "pytHon courSE"
print(name.title())
المخرجات :
Python:
Python Course

معلومة: يمكن الإستفادة من الدالة title في إمكانية تحويل قيم الإدخال التالية (shell, SHELL ,Shell) لنفس الإسم ويعرفها البرنامج جميعًا بإسم (Shell)

2. upper() & lower() : دالة ال upper() تقوم بتحويل كل أحرف النص إلى أحرف كبيرة ، ودالة الlower() تقوم بتحويل كل أحرف النص إلى أحرف صغيرة كما في المثال :
Python:
name ="Arabian Shell Network"
print(name.upper())
print(name.lower())
المخرجات :
Python:
ARABIAN SHELL NETWORK
arabian shell network

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

  • من الممكن دمج أكثر من متغير وطباعتها كلها كنص واحد, على سبيل المثال لو أردنا طباعة اسم العالِم Guido van Rossum يمكننا وضع اسم Guido van بمتغير، ووضع اسم Rossum بمتغير آخر، ومن ثم دمج كلاهما بمتغير واحد عن طريق استخدام التنسيق format الذي نشير إليه بالحرف f والذي بدوره يقوم بأخذ القيم الموجودة بكلا المتغيرات ودمجها سويًا داخل متغير كنص واحد، كما في المثال التالي :
Python:
first_name = "Guido van"
last_name = "Rossum"
full_name = f"{first_name} {last_name}"
print(full_name)
المخرجات :
Python:
Guido van Rossum
بدايةً عرّفنا متغير بإسم first_name ووضعنا فيه الإسم الأول (Guido van) ومن ثم عرّفنا متغير آخر ووضعنا فيه الإسم الأخير (Rossum) ،وبعد ذلك عرّفنا متغير بإسم full_name ، لنقوم بدمج الإسم الأول مع الأخير يكون ذلك بكتابة الحرف f متبوعًا بعلامات اقتباس ومن ثم وضع كل متغير مراد دمجه داخل أقواس حيث يقوم بايثون بأخذ قيم هذه المتغيرات ودمجها سويًا داخل المتغير full_name , ويطلق على السلسلة (full_name) اسم f_string.

معلومة: من الممكن دمج أكثر من متغير بنفس جملة الطباعة كما في المثال :
Python:
first_name = "Guido van"
last_name = "Rossum"
full_name = f"{first_name} {last_name}"
print(full_name)
المخرجات :
Python:
Guido van Rossum
ويمكن فعل المزيد باستخدام f-string، على سبيل المثال يمكن استخدامها لدمج نص مع معلومات مخزّنة داخل متغيّر معيّن .
Python:
first_name = "Guido van"
last_name = "Rossum"
full_name = f"{first_name} {last_name}"
print(f"{full_name} is the one who developed the python language")
المخرجات :
Python:
Guido van Rossum is the one who developed the python language
التطبيقات على f-string كثيرة فلا تقتصر على الأمثلة المعطاة .

تدريب: قم بدمج ال first_name مع ال last_name ولكن بجعل ال full_name بحالة حروف كبيرة upper case

معلومة: من الممكن دمج أكثر من متغيّر باستخدام رمز (+) بين أسماء المتغيرات المراد دمج قيمها :
Python:
first_name = "Guido van"
last_name = " Rossum"
print(first_name + last_name)
المخرجات :
Python:
Guido van Rossum

  • في لغة البرمجة Python، هناك بعض الحروف التي تعمل عمل خاص عند وضع ( \ )قبلها وتسمى (Character Escape sequences) ،وتستخدم في داخل النص المراد طباعته ، منها :
  1. n \: تستخدم لإضافة سطر جديد .
  2. t\ : تستخدم لإضافة مسافة (Tab) تتكون من 6 حروف .
  3. \\ : تستخدم لطباعة فاصلة مائلة (Backslash) في النص .
  4. ' \: تستخدم لطباعة علامة اقتباس منفردة (Single Quote) في النص .
  5. "\ : تستخدم لطباعة علامة اقتباس مزدوجة (Double Quote) في النص .
  6. b\ : تستخدم لحذف الحرف السابق لها .
  7. r\ : تستخدم في تبديل الحروف الموجودة بداية النص بالحروف الموجودة بعد r\ .
وهذا المثال يوضح بعض هذه ال Character Escape sequences :
Python:
print('Welcome to\nShell')
print('....................')
print('Welcome to\bShell')
print('....................')
print('Welcome to\rShell')
المخرجات:
Python:
Welcome to
Shell
....................
Welcome tShell
....................
Shellme to

معلومة: قد تحتاج إلى كتابة نص واحد على أكثر من سطر ولأن جملة الطباعة يجب أن تغلق على نفس السطر سيحدث خطأ بسبب عدم إغلاقها والانتقال إلى السطر الجديد .
لتجنب ذلك نقوم بوضع (\) بنهاية كل سطر وحتى السطر الأخير، كما في المثال :


Python:
print('Welcome \
to \
Shell')
المخرجات :
Python:
Welcome to Shell


تدريب: اكتب برنامج باستخدام Character Escape sequences يعرض الناتج على الشكل التالي :
Programing Languages:
"Python"
++C

' JavaScript'

  • كما تحدثنا بأن لغات البرمجة صارمة إلا أنها تتجاهل التهجئة الجيدة أو السيئة فمثلًا لو قمنا بكتابة "python " على هذا الشكل وكتبنا أيضاً "python"، عند النظر إلى الكلمتين فلن نجد أي فرق بينهما ولكن مفسر بايثون يرى الكلمتين مختلفتين والسبب في ذلك أنه يعتبر الفراغ (space) حرف. في بعض الأحيان قد يتسبب هذا الفراغ بنشوء مشكلة خصوصًا عندما تريد المقارنة بين تطابق كلمة مع كلمة أخرى ، كأن تريد مثلًا فحص أسماء مستخدمين عند تسجيل دخولهم إلى موقع ويب فمن الممكن أن يكون الإسم المثبت في قاعدة البيانات من غير وجود أي فراغ ولكن عند كتابة اسمك للدخول إلى الموقع أحدثْتَ بعض الفراغات، بهذا لن يتعرف الموقع عليك بسبب عدم وجود تطابق بين الكلمتين، ولكن هناك بعض الدّوال في لغة بايثون قد قامت بحل هذه المشكلة عن طريق حذف أي فراغ موجود على جوانب النص وهي :
  1. rstrip : وهذه الطريقة تقوم بحذف الفراغات من جهة اليمين right .
  2. lstrip : وهذه الطريقة تقوم بحذف الفراغات من جهة اليسار left .
  3. strip : وهذه الطريقة تقوم بحذف الفراغات من جهة اليمين واليسار .
كما في المثال التالي :
Python:
favorite_language = '  python  '
print(favorite_language.rstrip())
print(favorite_language.lstrip())
print(favorite_language.strip())
المخرجات:
Python:
   python
python
python
ويتم استخدام هذه الدّوال كما تحدثنا سابقًا بوضع نقطة (dot) وكتابة هذه الدّالة متبوعة بأقواس فارغة ( لا تحتوي معلومات ) ففي السطر الثاني قام بحذف الفراغات الموجودة على يمين النص ولكن لم يتم حذف الفراغات الموجودة على يسار النص ، وفي السطر الثالث قام بحذف الفراغات الموجودة على يسار النص ولكن لم يتم حذف الفراغات الموجودة على يمين النص ، وفي السطر الرابع قام بحذف الفراغات الموجودة على يمين ويسار النص ،
هذا ويجب الإنتباه إلى أن هذه الدّوال تقوم بإزالة الفراغ بشكل مؤقت (عند الطباعة فقط) أما إذا كنت تريد حذف الفراغ بشكل كامل، هنا يجب التعديل على قيمة المتغير الأصلي وإعطاءه قيمة جديدة، كما في المثال :
Python:
favorite_language = '  python  '
print(favorite_language.strip())
print(favorite_language)
favorite_language = favorite_language.strip()
print(favorite_language
  • من المهام الشائعة في السلاسل إزالة البادئة (prefix) لرابط معين ، مثلًا لو كان لديك الرابط التالي: https://sh3ll.cloud , ونريد فقط التركيز على اسم الموقع sh3ll.cloud الذي يحتاج المستخدم ادخاله إلى شريط العناوين (address bar) دون كتابة البادئة https:// . هنا سنقوم باستخدام دالة (Method) جديدة تسمى removeprefix() ، لكن انتبه هذه الدالة تحتاج إلى معلومات تضمنها داخل الأقواس () وهذه المعلومات هي البادئة التي تريد ازالتها https:// كما في المثال التالي :
Python:
url = "https://sh3ll.cloud"
print(url.removeprefix("https://")
المخرجات:
Python:
sh3ll.cloud
  • هذا وتقوم الدالة removeprefix() بإزالة البادئة بشكل مؤقت (عند الطباعة فقط) كما في الدالة strip.
معلومة: استخدام ال triple quote( """ ) يعطي مرونة أكثر لجمل الطباعة حيث تستطيع من خلالها عمل التالي :
1. طباعة علامات الاقتباس المنفردة والمزدوجة سويًا داخل نص واحد دون حدوث خطأ .
2. طباعة نص على أكثر من سطر دون الحاجة إلى وضع (\) آخر السطر.
كما في المثال :

Python:
print("""Welcome
"to"
'Shell'""")
المخرجات:
Python:
Welcome
"to"
'Shell'


2. الأعداد (Numbers) :
  • تستخدم الأعداد بشكل واسع في عالم البرمجة لعدة أغراض مثل الحفاظ على النتيجة في الألعاب، تمثيل البيانات في الرسومات التوضيحية، تخزين المعلومات في تطبيقات الويب، وما إلى ذلك.
  • الأعداد بطبيعتها يمكن أن نقسمها إلى أعداد صحيحة (Integers) وهي الأعداد التي تخلو من أي فواصل عشريه مثل : 4 , 200 , -56 ، وإلى أعداد عشرية (Floats) وهي الأعداد التي تحوي فواصل عشرية مثل : 6.84 , 500.70 1.003 - .
  • يمكننا تطبيق جميع العمليات الحسابية على هذه الأعداد في لغة بايثون والتي تشمل ( + الجمع ، - الطرح ، * الضرب ، / القسمة و % باقي القسمة ) علمًا أن اللغة تدعم استخدام أولويات العمليات الحسابية عند حساب ناتج أي تعبير رياضي .
  • لاستخدام الأسس سنقوم بوضع إشارتي ضرب ** بين الأساس والأس .
  • عند قسمة عدد صحيح على عدد صحيح فإن الناتج يعطي عدد عشري ، وأيضًا عند إجراء أي عملية حسابية لعدد صحيح مع عدد عشري فإن الناتج يكون عدد عشري .
معلومة: تسمى الأعداد العشرية بالأعداد العائمة لأن العلامة العشرية يمكن أن تظهر في أي منزلة في العدد .

وفي ما يلي مثال على العمليات الحسابية:

Python:
n = 2+4
print("2+4 =" , n)
n = 5-7
print("5-7 =" , n)
n = 4%3
print("4%3 =" , n)
n = 18/9
print("18/9 =" , n)
n = 5**3
print("5**3 =" , n)
n = 2.3+5
print("2.3+5 =" , n)
n = 8*4.2
print("8*4.2 =" , n)
n = 0.3 + 0.3
print("0.3+0.3 =" , n)
n = 6%4.8
print("6%4.8 =" , n)
المخرجات :
Python:
2+4 = 6
5-7 = -2
4%3 = 1
18/9 = 2.0
5**3 = 125
2.3+5 = 7.3
8*4.2 = 33.6
0.3+0.3 = 0.6
6%4.8 = 1.2000000000000002
  • عندما تريد كتابة رقم يحتوي عدد كبير من الخانات مثل 14579264358 ، هذا الرقم من الصعب على قارئ البرنامج قراءته لذا فإن لغة بايثون تسمح لك بالفصل بين الخانات باستخدام الشرطة السفلية (Underscore _ ) هذا وانها لن تظهر عند طباعة الرقم كما في المثال :
Python:
n = 145_792_643_58
print(n)
المخرجات :
Python:
14579264358
معلومة: تتيح لغة بايثون إمكانية تعريف أكثر من متغير على نفس السطر في البرنامج وذلك لتقليل عدد الأسطر في برنامجك فمثلًا لو كنت تريد تعريف 3 متغيرات x , y , z وكل متغير يحمل رقم معين وليكن x=3 , y=78 , z= -5 يمكنك كتابتها على النحو التالي كما في المثال :
Python:
x , y ,z = 3 ,78 ,-5
print("x =",x,", y=",y,", z=",z)
المخرجات :
Python:
x = 3 , y= 78 , z= -5

تدريب: قم بعمل برنامج بحتوي على متغيرين x و y وقم بإعطاء قيمتين لهما ،ثم قم بحساب ناتج التعبير التالي : 5 * x + 6%y -9

  • الثوابت (Constants) : هي قيم لا يمكن التعديل عليها ، عكس المتغير الذي يمكن التعديل على قيمته متى شئت , على سبيل المثال هناك بعض القيم الرياضية الثابته كقيمة π التي تساوي 3.14 .هذا وليس من الضرورة أن تكون الثوابت قيم معروفة كـ π، فمن الممكن أنه عند كتابتك لبرنامج معين أردت تثبيت قيمة محددة ولا تريد تغييرها حتى نهاية البرنامج كقيمة الحد الأدنى والأعلى للرواتب حسب كل شركة أو جهة معينة .
  • لا تحتوي بايثون على أنواع بيانات ثابتة كباقي لغات البرمجة لكن مبرمجي بايثون يقومون بكتابة هذه القيم بمتغيرات ويكون اسم هذه المتغيرات كاملًا بالأحرف الكبيرة على أن المتغير يجب أن يعامل معاملة الثابت، كما في المثال :
Python:
MAX_CONNECTIONS = 5000
وبهذا نكون بحمد الله وفضله أتممنا موضوعنا
دمتم بحفظ الله ورعايته
@NaNaM
 

آخر المشاركات

فانوس

رمضان
عودة
أعلى