📚 استخدام الدوال الرياضية في بايثون
المفاهيم الأساسية
الدوال المثلثية (sin, cos, tan): دوال في نموذج `math` لحساب جيب وجيب تمام وظل الزاوية. تحتاج الزاوية بالتقدير الدائري.
الدوال اللوغاريتمية والأسية: دوال في نموذج `math` لحساب اللوغاريتمات والأسس والجذور.
`math.pow(a,b)`: دالة تستقبل رقمين عشريين، وترفع `a` إلى قوة `b` وتعيد النتيجة (a^b).
خريطة المفاهيم
```markmap
المكتبات والنماذج البرمجية في بايثون
مفهوم النموذج البرمجي
تعريف
- حزمة ملفات تحتوي مقاطع برمجية
- امتدادها .py
- يتم استيرادها لتنفيذ وظائف
مصادر النماذج
المكتبة القياسية (Standard library)
#### تعريف
- تُثبَّت تلقائياً مع بايثون
- جزء أساسي من اللغة
- تحتوي على أكثر من 200 نموذج برمجي
#### خصائصها
- واسعة وغنية
- تحتوي على نماذج مكتوبة بلغة C للوصول لوظائف النظام
- تقدم حلولاً قياسية للعديد من المشكلات البرمجية
#### طرق الاستيراد
##### 1. استيراد الكل
- الأمر: `from module_name import *`
- المميزات
- توفير وقت الكتابة
- مفيد عند استخدام الكثير من الدوال
- مفيد عند نسيان النموذج البرمجي للدالة
- زيادة حجم البرنامج النهائي دون سبب
- زيادة أعباء الصيانة والأمن
##### 2. استيراد دوال من نموذج برمجي
- الأمر: `from module_name import function_a, function_b, function_c`
- الاستدعاء: `function_a()`
##### 3. استيراد النماذج البرمجية
- الأمر: `import module_name`
- الاستدعاء: `module_name.function_name()`
##### أمثلة على نماذجها
###### datetime
- datetime.date.today()
- datetime.time()
###### queue
- queue.put()
- queue.full()
- queue.empty()
###### math
- الهدف: الوصول إلى دوال وثوابت رياضية شائعة
- طريقة الاستيراد: `import math`
- أمثلة على استخدامه:
-
الثوابت الرياضية
- `math.pi`: قيمة الثابت π (3.141592653589793)
- `math.e`: قيمة رقم أويلر e (2.718281828459845)
- تحويل الزوايا
- `math.radians(angle_in_degrees)`: تحويل الزاوية من التقدير الستيني إلى الدائري
- `math.degrees(angle_in_radians)`: تحويل الزاوية من التقدير الدائري إلى الستيني
- الدوال المثلثية (مثل sin, cos, tan)
- تحتاج إلى الزاوية بالتقدير الدائري كوسيط
- مثال على استخدامها:
- `math.sin(math.radians(60))`: حساب جيب الزاوية 60 درجة
- `math.cos(math.radians(60))`: حساب جيب تمام الزاوية 60 درجة
- `math.tan(math.radians(60))`: حساب ظل الزاوية 60 درجة
- الدوال اللوغاريتمية والأسية
- مثال على استخدامها:
- `math.log(10)`: حساب اللوغاريتم الطبيعي (الأساس e) للرقم 10
- `math.log10(10)`: حساب اللوغاريتم ذو الأساس 10 للرقم 10
- `math.pow(2,8)`: حساب قيمة 2 مرفوعة للقوة 8 (2^8)
- `math.sqrt(20)`: حساب الجذر التربيعي لـ 20
###### sys
- الهدف: معرفة معلومات عن النظام ومشغل بايثون
- طريقة الاستيراد: `import sys`
- أمثلة على استخدامه:
- `sys.version`: يعرض نسخة بايثون المستخدمة
- `sys.path`: يعرض مسار تخزين جميع النماذج القياسية
- `sys.platform`: دالة جديدة تعرض نظام التشغيل المستخدم (مثال: 'win32')
###### os
- الهدف: التفاعل مع نظام التشغيل تلقائياً
- طريقة الاستيراد: `import os`
- أمثلة على استخدامه:
- `os.getcwd()`:
دالة جديدة تعرض مسار المجلد الحالي للعمل (المجلد الذي يحفظ فيه ملف المقطع البرمجي)
- إنشاء مجلد وإزالته
- جلب محتويات مجلد
- تغيير المسار الحالي أو تحديده
- استخدام `chdir()` للتنقل
- تغيير المسار إلى مجلد جديد: `os.chdir("مسار_جديد")`
- العودة للمسار الأصلي: `os.chdir("..\\")`
- استخدام `listdir()` لعرض المحتويات
- عرض أسماء الملفات والمجلدات: `os.listdir()`
- استخدام `dir()` لاستكشاف النموذج
- الهدف: عرض جميع وظائف وخصائص وحدة `os`
- طريقة الاستخدام: `print(dir(os))`
- المخرجات: قائمة طويلة بأسماء الدوال والثوابت (مثل: `'F_OK'`, `'_access'`, `'_chdir'`, `'_environ'`)
مكتبات مجتمع المطورين
#### المكتبات الإضافية
- يمكن تنزيلها وتثبيتها بسهولة
- تأتي بأدوات تثبيت خاصة
- تتصرف مثل المكتبة القياسية بعد التثبيت
أمثلة على النماذج القياسية
tkinter module
Platform module
turtle module
openpyxl module
أهمية النماذج البرمجية
إعادة استخدام المقطع البرمجي
تنظيم المشروعات وتقسيمها
العلاقة الهرمية
المكتبة القياسية
#### تحتوي على
النماذج البرمجية
#### تحتوي على
الدوال
معلومة
بعض النماذج متوفرة في جميع الإصدارات
بعضها يتطلب دعم النظام أو تثبيت
مكتبات بايثون الخارجية
- مكتبات إضافية غير مثبتة في بايثون
- تحتاج إلى استيرادها للبرنامج
دالة `dir()` العامة
- الهدف: معرفة محتويات أي كائن (ليس المكتبات فقط)
- نطاق الاستخدام:
- الكائنات (Classes)
- الدوال (Functions)
- أنواع البيانات (النصوص، الأرقام)
```
نقاط مهمة
- نموذج `math` يساعد في إجراء حسابات رياضية معقدة.
- قبل استخدام الدوال المثلثية، يجب تحويل الزاوية من الدرجات إلى الراديان باستخدام `math.radians()`.
- دالة `math.pow(a,b)` تستقبل وسيطين عشريين (`a` و `b`) وتُرجع `a^b`.