بسم الله الرحمن الرحيم
اللهم علّمنا ما ينفعنا وانفعنا بما علّمتنا إنك أنت العزيز الحكيم
اللهم علّمنا ما ينفعنا وانفعنا بما علّمتنا إنك أنت العزيز الحكيم
سنتحدث في هذا الدرس عن المكتبات وبعض الدوال الخاصة بالسلاسل والأعداد.
1-المكتبات
يمكننا تشبيه المكتبات في Python بأدوات في صندوق للنجارة. لنفترض أن هناك نجار يعمل في ورشة خشب، وهذه الورشة مُجهزة بصندوق كبير يحتوي على مجموعة متنوعة من الأدوات، مثل مطارق ومناشير ومسامير ومثاقب، وهذه الأدوات تساعد النجار على إنجاز مهامه بكفاءة.
يمكننا تعريف المكتبات على أنها مجموعة من الأدوات والوظائف التي تساعد المبرمجين على كتابة البرامج بشكل أكثر فعاليّة وسهولة , حيث تتيح لك هذه المكتبات استخدام وظائف معينة (Method) دون الحاجة إلى إعادة كتابتها مما يسرع من عملية التطوير ويزيد من قوة ومرونة اللغة.
لنفترض أنك تريد كتابة برنامج لتحليل بيانات مالية.لعمل ذلك يمكنك استخدام مكتبة مثل pandas للتعامل مع البيانات بشكل مرن وفعال , هذه المكتبة توفر أدوات قوية لقراءة وتحليل البيانات، مما يجعل من السهل عليك تنظيف البيانات، وتحليلها، وتقديم تقارير عنها.
لاستخدام هذه المكتبات سنضع import قبل اسم المكتبة المراد استخدامها ويجب كتابتها في بداية البرنامج الخاص بك , وسوف نرى استخدام بعض المكتبات في وقت لاحق ولكننا سنتطرق إليها في هذا الدرس عند استخدام الدوال في الأعداد.
2.الدوال في السلاسل
من مميزات لغة بايثون أنها تحتوي على مجموعة من الدوال المبنية ضمنيًا داخل اللغة؛ فليس من الضروري إعادة كتابتها مرة أخرى فإذا أردت استخدامها ما عليك سوا إعطاء اسم هذه الدالّة وبعض المعلومات إن احتاجت الدالّة ذلك وقد تحدثنا في الدرس السابق عن بعض الدوال المستخدمة في السلاسل وسنكمل الحديث عن عدد أكبر منها:
مثال | وصّف الدالّة | اسم الدالة |
---|---|---|
Python:
Python:
| تقوم بتكبير أول حرف من النص | ()Capitalize |
Python:
Python:
| يُنظم الخانات بعدد ثابت,ويأخد معلومات إضافية وهي عدد الخانات | (width)Zfill |
Python:
Python:
| تقوم بتحويل السلسلة إلى قائمة من العناصر حيث أن كل عنصر يعبر عن جزء من النص, إذا لم يتم تزويده بأي معلومات, ويقوم بالفصل حسب الفراغات الموجودة بالسلسلة أما إذا أردنا أن يتم الفصل حسب حرف أو رمز معين موجود بالنص نقوم بتزويده ببعض المعلومات وأيضاً يمكننا تحديد عدد مرات الفصل . تقوم هذه الدالة بالوضع الطبيعي بالفصل من جهة اليسار. | (spliter,max_split)split |
Python:
المخرجات:
Python:
| تقوم بنفس عمل الدالة split ولكن من جهة اليمين. | (spliter,max_split)rsplit |
Python:
المخرجات :
Python:
| تقوم بتوسيط السلسلة حيث يتم تزويده بمعلومتين إضافيتين هما الطول الإجمالي للسلسلة بعد التوسيط (width ) كما يتم تزويده بالحرف المراد ملء الفراغات به, فإذا لم يتم تزويده بالحرف يقوم بترك الفراغات كما هي. | (width, fillchar)center |
Python:
المخرجات :
Python:
| تقوم بإضافة فراغات على يمين السلسلة أو على يسارها , حيث أنها تأخذ نفس المعلومات التي تحتاجها الدالة center | (width, fillchar)rjust ( width, fillchar)ljust |
Python:
المخرجات:
Python:
| تقوم بالبحث عن جزئية معينة(substring) من السلسلة وتقوم بإرجاع عدد مرات تكرار هذه الجزئية, بالوضع الطبيعي تقوم بالبحث بكامل السلسلة أما إذا أردنا عدم البحث في كامل النص يجب علينا تزويد الدالة بمعلومتين وهما مؤشران لبداية ونهاية المكان الذي نريد أن يبحث فيه | (substring,start,end)count |
Python:
المخرجات:
Python:
| تقوم بتبديل الأحرف الكبيرة إلى أحرف صغيرة والعكس صحيح | ()Swapcase |
Python:
Python:
| تفيد في معرفة ما إذا كانت السلسلة تبدأ بحرف معين وتقوم بإرجاع قيم منطقية (true ,false), بالوضع الطبيعي تقوم بالمقارنة بين أول حرف في السلسلة مع الـ substring المعطى أما إذا أردنا مقارنة جزء معين من النص يجب علينا تزويد الدالة بمعلومتين وهما مؤشران لبداية ونهاية المكان الذي نريد أن يبحث فيه | (substring,start,end)startwith |
Python:
Python:
| تفيد في معرفة ما إذا كانت السلسلة تنتهي بحرف معين وتقوم بإرجاع قيم منطقية (true, false), بالوضع الطبيعي تقوم بالمقارنة بين آخر حرف في السلسلة مع الـ substring المعطى أما إذا أردنا مقارنة جزء معين من النص يجب علينا تزويد الدالة بمعلومتين وهما مؤشران لبداية ونهاية المكان الذي نريد أن يبحث فيه | (substring,start,end)endwith |
Python:
Python:
Python:
Python:
| كل سلسلة تحوي عدد من الأحرف وكل حرف له مؤشر خاص به وتسمى مجموعة المؤشرات لكل الأحرف (indexes). هذه الدالة تساعدنا في معرفة مؤشر أي حرف في السلسلة, على الأقل يجب إعطاء هذه الدالة الحرف الذي ترغب في إرجاع المؤشر الخاص به وهنا يمكنك إعطاء أي حرف داخل السلسلة. أما إذا كنت تريد أن تبحث في جزئية معينة يجب عليك تزويد الدالة بمعلومتين وهما مؤشران لبداية ونهاية المكان الذي نريد أن يبحث فيه ملاحظة : يجب الإنتباه إلى أنه عند إعطاء الدالة حرف غير موجود يسبب ذلك بحدوث خطأ وتوقف عمل البرنامج | (char,start,end)index |
Python:
Python:
| هذه الدالة تقوم بنفس عمل الدالة index ولكن عند إعطاءها حرف غير موجود لا تقوم بإيقاف البرنامج وإنما تقوم بإعطاء النتيجة -1 كدليل على حدوث خطأ. | (char,start,end)find |
Python:
Python:
| مقدار الـ tab في الوضع الطبيعي 6 فراغات يمكننا من خلال هذه الدالة التحكم بمقدار الفراغات الخاصة بالـ tab لذلك يجب تزويدها بعدد الفراغات التي تريده. | (value)expandtabs |
Python:
Python:
| تقوم هذه الدالة باستبدال قيمة موجودة داخل السلسلة بقيمة جديدة عن طريق إعطاء الدالة هذه القيم معلومة: إذا كانت القيمة المراد استبدالها مكررة أكثر من مرة داخل السلسلة ,بالوضع الطبيعي تقوم باستبدال القيمة القديمة في كل الأماكن في السلسلة بالقيمة الجديدة, لكن إذا أردت أن تستبدل عدد معين من مرات التكرار عليك اخبار الدالة بهذا العدد (count) | replace (old value,new value,count) |
Python:
Python:
| تقوم هذه الدالة بالتأكد من السلسلة إذا كانت فارغة وتقوم بهذه الحالة بإرجاع القيمة المنطقية (true) وفي حال عكس ذلك تقوم بإرجاع القيمة (false) | ()isspace |
Python:
Python:
| تقوم هذه الدالة بالتأكد من السلسلة إذا كانت في حالة عنوان (أي أن أول حرف من كل كلمة كبير وباقي الأحرف صغيرة) وتقوم بهذه الحالة بإرجاع القيمة المنطقية true أما إذا كانت عكس ذلك تقوم بإرجاع القيمة المنطقية false | ()istitle |
Python:
Python:
| تقوم هذه الدالة من التأكد إذا ما كانت جميع أحرف السلسلة كبيرة وتقوم بهذه الحالة بإرجاع القيمة المنطقية true أما إذا كانت عكس ذلك تقوم بإرجاع القيمة المنطقية false | ()isupper |
Python:
Python:
| تقوم هذه الدالة من التأكد إذا ما كانت جميع أحرف السلسلة صغيرة وتقوم بهذه الحالة بإرجاع القيمة المنطقية true أما إذا كانت عكس ذلك تقوم بإرجاع القيمة المنطقية false | ()islower |
Python:
Python:
| تقوم هذه الدالة بالتأكد من اسم المتغير إذا كان صحيح حسب القواعد الخاصة بكتابة المتغيرات فإذا كان الأسم صحيح تعطي القيمة المنطقية true وعكس ذلك تعطي false | ()isidentifier |
Python:
Python:
| تقوم هذه الدالة بالتأكد مما إذا كانت السلسلة تحتوي على أحرف (A-Z) فقط وتقوم بهذه الحالة بإرجاع القيمة المنطقية true أما إذا كانت عكس ذلك تقوم بإرجاع القيمة المنطقية false | ()isalpha |
Python:
Python:
| تقوم هذه الدالة بالتأكد مما إذا كانت السلسلة تحتوي على أحرف (A-Z)وأرقام فقط وتقوم بهذه الحالة بإرجاع القيمة المنطقية true أما إذا كانت عكس ذلك تقوم بإرجاع القيمة المنطقية false | ()isalnum |
3- الدوال في الأعداد
لاستخدام الدوال المنبية ضمنيًا في اللغة الخاصة بالأعداد يجب علينا استخدام مكتبة math على عكس الدوال في السلاسل فأنت لا تحتاج إلى استخدام المكتبات, وفي ما يلي بعض هذه الدوال.مثال | وصف الدالة | اسم الدالة |
---|---|---|
Python:
Python:
| تقوم هذه الدالة بإرجاع العدد الصحيح الأكبر أو الذي يساوي العدد (x) | ceil( x) |
Python:
Python:
| تقوم هذه الدالة بإرجاع العدد الصحيح الأصغر أو الذي يساوي العدد (x) | floor( x) |
Python:
Python:
| تقوم هذه الدالة بإنشاء علاقة أُسيّة بين x و y حيث أن x تعبر عن الأساس والـ y تعبر عن الأُس. | pow(x, y) |
Python:
Python:
| تقوم هذه الدالة بإرجاع قيمة الجذر التربيعي (square root) للعدد x. | sqrt( x) |
Python:
Python:
| تقوم هذه الدالة بإنشاء علاقة أُسيّة بين الثابت العددي (هـ) الذي يساوي تقريبُا 2.7 والعدد x حيث أن هـ هي الأساس والـ x هي الأُس. | exp( x) |
Python:
Python:
| تقوم هذه الدالة بإرجاع قيمة الـ Logarithm للعدد x مع إمكانية تحديد الأساس لهذا العدد. معلومة : يوجد أيضًا الدالتان log2( x) و log10( x) حيث أن الأساس بهما ثابت وما عليك سوا إعطاء قيمة العدد x مباشرة, قم بعمل بعض التدريبات عليهما | log(x, [base] ) |
Python:
Python:
| تقوم هذه الدوال بإعطاء قيمة الجيب والجتا والظل للزاوية x حيث أن لغة بايثون تتعامل مع الزوايا بالراديان وليس بالدرجات. | sin( x) (x)tan (x) cos |
Python:
Python:
| تقوم هذه الدالة بتحويل الزاوية التي نمررها لها من الريديان إلى درجات. | degrees( x ) |
Python:
Python:
| تقوم هذه الدالة بتحويل الزاوية التي نمررها لها من الدرجات إلى الريديان. | radians( x ) |
Python:
Python:
| تقوم هذه الدالة بإرجاع عدد صحيح يمثل القاسم المشترك الأكبر (Greatest Common Divisor) بين العددين x و y. | gcd( x, y ) |
وهكذا نكون قد أنهينا درسنا بحمد الله وفضله
دمتم بحفظ الله ورعايته