3. نموذج (dir (os)) - كتاب المهارات الرقمية - الصف 9 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب المهارات الرقمية - الصف 9 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 9 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: 3. نموذج (dir (os))

📚 معلومات الصفحة

الكتاب: كتاب المهارات الرقمية - الصف 9 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 9 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

📝 ملخص الصفحة

📚 دالة `dir()` في بايثون

المفاهيم الأساسية

دالة `dir()`: دالة مفيدة لمعرفة محتويات النموذج البرمجي (أو أي كائن). يتم استدعاؤها على أي كائن لمعرفة الإجراءات (الخصائص والطرق) التي يدعمها.

خريطة المفاهيم

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

  • math.pi()
  • math.sin()
  • math.log()
  • math.pow()
###### 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)

- أنواع البيانات (النصوص، الأرقام)

```

نقاط مهمة

  • دالة `dir()` هي أداة استكشافية لمعرفة ما يحتويه أي كائن في بايثون.
  • لاستخدامها مع نموذج `os`، يجب أولاً استيراده: `import os`.
  • الأمر `print(dir(os))` يعرض قائمة بجميع الدوال والخصائص المتاحة داخل وحدة `os`.
  • الدالة ليست حصرية على المكتبات، بل تعمل مع جميع أنواع كائنات بايثون.

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

3. نموذج (dir (os))

نوع: محتوى تعليمي

إحدى الدوال المفيدة لمعرفة محتويات النموذج البرمجي هي دالة dir، يمكنك استدعاءها على أي كائن لمعرفة الإجراءات التي تدعمها، ولكنها مفيدة بشكل خاص مع النموذج البرمجي.

نوع: محتوى تعليمي

على سبيل المثال، يمكنك عرض جميع وظائف وحدة التشغيل os على الشاشة كقائمة.

استورد نموذج os

نوع: محتوى تعليمي

import os

اعرض جميع دوال نموذج os البرمجي

نوع: محتوى تعليمي

print(dir(os))

هذه الدالة التي استخدمتها في المثال السابق.

نوع: محتوى تعليمي

هذه الدالة التي استخدمتها في المثال السابق.

الكائن الذي تريد رؤية كل خصائصه وطرقـه.

نوع: محتوى تعليمي

الكائن الذي تريد رؤية كل خصائصه وطرقـه.

نوع: محتوى تعليمي

['F_OK', '_O_APPEND', '_O_BINARY', '_O_CREAT', '_O_EXCL', '_O_NOINHERIT', '_O_RANDOM', '_O_RDONLY', '_O_RDWR', '_O_SEQUENTIAL', '_O_SHORT_LIVED', '_O_TEMPORARY', '_O_TEXT', '_O_TRUNC', '_O_WRONLY', '_P_DETACH', '_P_NOWAIT', '_P_NOWAITO', '_P_OVERLAY', '_P_WAIT', '_R_OK', '_SEEK_CUR', '_SEEK_END', '_SEEK_SET', '_TMP_MAX', '_UserDict', '_W_OK', '_X_OK', '_', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__copy_reg__', '__execvpe__', '__exists__', '__exit__', '__get_exports_list__', '__make_stat_result__', '__make_statvfs_result__', '_pickle_stat_result', '_pickle_statvfs_result', '_abort', '_access', '_altsep', '_chdir', '_chmod', '_close', '_closerange', '_curdir', '_defpath', '_devnull', '_dup', '_dup2', '_environ', '_errno', '_error', '_exec', '_execl', '_excle', '_execlp', '_execv', '_execve', '_execvp', '_extsep', '_fdopen', '_fstat', '_fstatcwd', '_getcwdu', '_getenv', '_getpid', '_isatty', '_kill', '_linesep', '_listdir', '_lseek', '_lstat', '_makedirs', '_mkdir', '_name', '_open', '_pardir', '_path', '_pathsep', '_pipe', '_popen', '_popen2', '_popen3', '_popen4', '_putenv', '_read', '_remove', '_removedirs', '_rename', '_rmdir', '_sep', '_spawn', '_spawnle', '_spawnve', '_spawnvl', '_spawnvpe', '_startfile', '_stat', '_stat_', '_statvfs_result', '_strerror', '_sys', '_system', '_tempnam', '_times', '_tmpfile', '_tmpnam', '_umask', '_unlink', '_unsetenv', '_urandom', '_utime', '_waitpid', '_walk', '_write']

نوع: METADATA

وزارة التعليم Ministry of Education 2025 - 1447 157

معلومة

نوع: محتوى تعليمي

دالة dir ليست مفيدة للمكتبات فقط، بل يمكن استخدامها مع جميع كائنات بايثون، مثل الكائنات (classes) والدوال (functions)، كما أنها تدعم أنواع البيانات من النصوص والأرقام.

📄 النص الكامل للصفحة

--- SECTION: 3. نموذج (dir (os)) --- إحدى الدوال المفيدة لمعرفة محتويات النموذج البرمجي هي دالة dir، يمكنك استدعاءها على أي كائن لمعرفة الإجراءات التي تدعمها، ولكنها مفيدة بشكل خاص مع النموذج البرمجي. على سبيل المثال، يمكنك عرض جميع وظائف وحدة التشغيل os على الشاشة كقائمة. --- SECTION: استورد نموذج os --- import os --- SECTION: اعرض جميع دوال نموذج os البرمجي --- print(dir(os)) --- SECTION: هذه الدالة التي استخدمتها في المثال السابق. --- هذه الدالة التي استخدمتها في المثال السابق. --- SECTION: الكائن الذي تريد رؤية كل خصائصه وطرقـه. --- الكائن الذي تريد رؤية كل خصائصه وطرقـه. ['F_OK', '_O_APPEND', '_O_BINARY', '_O_CREAT', '_O_EXCL', '_O_NOINHERIT', '_O_RANDOM', '_O_RDONLY', '_O_RDWR', '_O_SEQUENTIAL', '_O_SHORT_LIVED', '_O_TEMPORARY', '_O_TEXT', '_O_TRUNC', '_O_WRONLY', '_P_DETACH', '_P_NOWAIT', '_P_NOWAITO', '_P_OVERLAY', '_P_WAIT', '_R_OK', '_SEEK_CUR', '_SEEK_END', '_SEEK_SET', '_TMP_MAX', '_UserDict', '_W_OK', '_X_OK', '_', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__copy_reg__', '__execvpe__', '__exists__', '__exit__', '__get_exports_list__', '__make_stat_result__', '__make_statvfs_result__', '_pickle_stat_result', '_pickle_statvfs_result', '_abort', '_access', '_altsep', '_chdir', '_chmod', '_close', '_closerange', '_curdir', '_defpath', '_devnull', '_dup', '_dup2', '_environ', '_errno', '_error', '_exec', '_execl', '_excle', '_execlp', '_execv', '_execve', '_execvp', '_extsep', '_fdopen', '_fstat', '_fstatcwd', '_getcwdu', '_getenv', '_getpid', '_isatty', '_kill', '_linesep', '_listdir', '_lseek', '_lstat', '_makedirs', '_mkdir', '_name', '_open', '_pardir', '_path', '_pathsep', '_pipe', '_popen', '_popen2', '_popen3', '_popen4', '_putenv', '_read', '_remove', '_removedirs', '_rename', '_rmdir', '_sep', '_spawn', '_spawnle', '_spawnve', '_spawnvl', '_spawnvpe', '_startfile', '_stat', '_stat_', '_statvfs_result', '_strerror', '_sys', '_system', '_tempnam', '_times', '_tmpfile', '_tmpnam', '_umask', '_unlink', '_unsetenv', '_urandom', '_utime', '_waitpid', '_walk', '_write'] وزارة التعليم Ministry of Education 2025 - 1447 157 --- SECTION: معلومة --- دالة dir ليست مفيدة للمكتبات فقط، بل يمكن استخدامها مع جميع كائنات بايثون، مثل الكائنات (classes) والدوال (functions)، كما أنها تدعم أنواع البيانات من النصوص والأرقام.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 3 بطاقة لهذه الصفحة

ما هي وظيفة الدالة `dir()` في لغة بايثون؟

  • أ) حذف جميع الملفات من مجلد معين.
  • ب) تغيير اسم كائن أو متغير.
  • ج) عرض جميع الخصائص والطرق (الدوال) التي يدعمها كائن معين.
  • د) إنشاء نسخة احتياطية من قاعدة بيانات.

الإجابة الصحيحة: c

الإجابة: عرض جميع الخصائص والطرق (الدوال) التي يدعمها كائن معين.

الشرح: 1. الدالة `dir()` هي دالة مدمجة في بايثون. 2. وظيفتها الرئيسية هي إرجاع قائمة مرتبة تحتوي على أسماء جميع الخصائص والطرق (الدوال) الخاصة بكائن معين. 3. هذا مفيد جداً لاستكشاف محتويات النماذج البرمجية (modules) أو الكائنات الأخرى ومعرفة ما يمكنك فعله بها.

تلميح: تستخدم هذه الدالة لاستكشاف محتويات الكائنات والنماذج البرمجية.

التصنيف: تعريف | المستوى: سهل

كيف يمكن عرض جميع الدوال المتاحة في نموذج `os` في بايثون؟

  • أ) بكتابة الأمر `os.list()` في وحدة التحكم.
  • ب) باستخدام الأمر `print(dir(os))` بعد استيراد النموذج.
  • ج) بكتابة الأمر `show all os`.
  • د) بفتح ملف المساعدة الخاص بالنظام التشغيلي.

الإجابة الصحيحة: b

الإجابة: باستخدام الأمر `print(dir(os))` بعد استيراد النموذج.

الشرح: 1. أولاً، يجب استيراد نموذج `os` باستخدام الأمر `import os`. 2. ثانياً، لرؤية جميع الدوال والخصائص المتاحة في هذا النموذج، نستخدم الدالة `dir()` وتمرير اسم النموذج `os` كمعامل لها. 3. أخيراً، نستخدم `print()` لعرض القائمة الناتجة على الشاشة. الأمر الكامل هو `print(dir(os))`.

تلميح: تتضمن العملية خطوتين: استيراد النموذج ثم استخدام دالة `dir` مع `print`.

التصنيف: صيغة/خطوات | المستوى: متوسط

أي من العبارات التالية صحيحة فيما يتعلق باستخدام دالة `dir()` في بايثون؟

  • أ) تستخدم فقط مع النماذج البرمجية الرسمية من شركة بايثون.
  • ب) يمكن استخدامها مع جميع كائنات بايثون، مثل النصوص والأرقام والدوال.
  • ج) تستخدم حصرياً لسرد محتويات المجلدات في نظام التشغيل.
  • د) تستخدم فقط أثناء مرحلة تطوير البرامج ولا تعمل في البرامج النهائية.

الإجابة الصحيحة: b

الإجابة: يمكن استخدامها مع جميع كائنات بايثون، مثل النصوص والأرقام والدوال.

الشرح: 1. العبارة الصحيحة هي أن دالة `dir()` ليست مقتصرة على استكشاف النماذج البرمجية (مثل `os`) فقط. 2. يمكن استخدامها مع أي كائن في بايثون، بما في ذلك أنواع البيانات الأساسية مثل النصوص (strings) والأرقام (integers, floats). 3. كما يمكن استخدامها مع الكائنات المعرفة من قبل المستخدم (classes) والدوال (functions) لمعرفة خصائصها وطرقها.

تلميح: ليست مقتصرة على النماذج البرمجية فقط.

التصنيف: مفهوم جوهري | المستوى: متوسط