المحاضرة (1)

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

إذا كنت مطور برامج محترفًا ، فقد تضطر إلى العمل مع العديد من مكتبات C / C ++ / Java ولكن تجد أن دورة الكتابة / الترجمة / الاختبار / إعادة الترجمة المعتادة بطيئة جدًا. ربما تكتب مجموعة اختبار لمكتبة كهذه وتجد أن كتابة كود الاختبار مهمة شاقة. أو ربما تكون قد كتبت برنامجًا يمكنه استخدام لغة امتداد ، ولا ترغب في تصميم وتنفيذ لغة جديدة كاملة لتطبيقك.

يمكنك كتابة برنامج نصي لـ Unix shell أو ملفات دفعية لـ Windows لبعض هذه المهام ، ولكن برامج shell النصية هي الأفضل في التنقل بين الملفات وتغيير البيانات النصية ، وهي ليست مناسبة تمامًا لتطبيقات أو ألعاب واجهة المستخدم الرسومية. يمكنك كتابة برنامج C / C ++ / Java ، ولكن قد يستغرق الأمر الكثير من وقت التطوير حتى تحصل على مسودة أولية للبرنامج. Python أبسط في الاستخدام ، ومتوفر على أنظمة التشغيل Windows و Mac OS X و Unix ، وسيساعدك على إنجاز المهمة بسرعة أكبر.

Python سهلة الاستخدام ، لكنها لغة برمجة حقيقية ، تقدم بنية ودعمًا للبرامج الكبيرة أكثر بكثير مما تقدمه البرامج النصية أو الملفات الدفعية. من ناحية أخرى ، توفر Python أيضًا فحصًا للأخطاء أكثر بكثير من C ، ولأنها لغة عالية المستوى جدًا ، فهي تحتوي على أنواع بيانات عالية المستوى مضمنة ، مثل المصفوفات والقواميس المرنة. نظرًا لأنواع البيانات الأكثر عمومية ، فإن Python قابلة للتطبيق على مجال مشكلة أكبر بكثير من Awk أو حتى Perl ، ومع ذلك فإن العديد من الأشياء على الأقل سهلة في Python كما في تلك اللغات.

تسمح لك Python بتقسيم برنامجك إلى وحدات يمكن إعادة استخدامها في برامج Python الأخرى. يأتي مع مجموعة كبيرة من الوحدات القياسية التي يمكنك استخدامها كأساس لبرامجك – أو كأمثلة لبدء تعلم البرمجة في بايثون. توفر بعض هذه الوحدات النمطية أشياء مثل إدخال / إخراج الملف ، ومكالمات النظام ، والمآخذ ، وحتى واجهات لمجموعات أدوات واجهة المستخدم الرسومية مثل Tk. Python هي لغة مفسرة ، والتي يمكن أن توفر لك وقتًا طويلاً أثناء تطوير البرنامج لأنه لا يلزم التجميع والربط. يمكن استخدام المترجم الفوري بشكل تفاعلي ، مما يجعل من السهل تجربة ميزات اللغة ، أو كتابة برامج التخلص ، أو اختبار الوظائف أثناء تطوير البرنامج من أسفل إلى أعلى. إنها أيضًا آلة حاسبة مكتبية سهلة الاستخدام.

تتيح لغة Python كتابة البرامج بشكل مضغوط ومقروء. عادةً ما تكون البرامج المكتوبة بلغة Python أقصر بكثير من برامج C أو ++C أو Java المكافئة ، وذلك لعدة أسباب:

  • تسمح لك أنواع البيانات عالية المستوى بالتعبير عن العمليات المعقدة في عبارة واحدة.
  • يتم تجميع البيانات عن طريق المسافة البادئة بدلاً من أقواس البداية والنهاية.
  • لا يلزم وجود متغير أو ادوات وسيطة.

لغة Python قابلة للتوسعة: إذا كنت تعرف كيفية البرمجة بلغة C ، فمن السهل إضافة وظيفة أو وحدة نمطية مضمنة جديدة إلى المترجم الفوري ، إما لأداء العمليات الحرجة بأقصى سرعة ، أو لربط برامج Python بالمكتبات التي قد تكون متاحة فقط في شكل ثنائي (مثل مكتبة رسومات خاصة بالبائع).يمكنك ربط مترجم Python بتطبيق مكتوب بلغة C واستخدامه كملحق أو لغة أوامر لهذا التطبيق. بالمناسبة ، تم تسمية اللغة على اسم برنامج بي بي سي “Monty Python’s Flying Circus” وليس لها علاقة بالزواحف.

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

فهم البرمجة :

نحتاج في لغة بايثون الى مهارتين اساسيتين :

اولاً: تعلم لغة البرمجة (بايثون) بمصطلحاتها وقواعدها حيث تتعلم تهجئة كلماتها اولاً حتى تصبح منها جملا صحيحة.

ثانياً: اكتب قصة باستخدام البرمجة، فعندما تكتب قصة تستعمل معها جملا وعبارات لايصال فكرتك الى القارئ ينطبق هذا على البرمجة فالقصة هنا البرنامج، والفكرة هي المشكلة المطلوب حلها.

يعد تعلم بايثون عملية سريعة وسهلة لكن تحتاج الى وقت طويل حتى تستطيع كتابة برنامج قادر على حل مشكلة معقدة، سنبدأ اولاً بتعليمات وبنية بايثون حتى تبدأ بتطوير طريقة تفكير خاصة لتفكيك المسائل التي تواجهك ومن ثم كتابة برامج لحلها

بنية الحاسوب:

نحتاج اولاً الى معرفة مكونات الحاسوب قبل البدء بتعلم اللغة التس تسمح لنا باعطاء الاوامر والتعلميات له ، فاذا فككت حاسوباً او هاتفاً ستجد العناصر الاتية :

بنية الحاسوب

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

مفردات بايثون وجملها

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

ومن الكلمات المحجوزة في لغة بايثون :

بايثون يعرف مسبقاً هذه الكلمات، وعند كل استعمال لكلمة (try) ستحاول بايثون تنفيذ التعليما المطلوبة دون ان يتوقف البرنامج او يفشل، فلنبدأ بأمر بسيط ، هذا الامر يشبه ان تقول (تحدث) اذ بالامكان اخبار بايثون بما عليها ان تقول بوضعه ضمن علامة الاقتباس مثل

بالتالي نكون قد كونا اول جملة صحيحة قواعدياً في بايثون، ولقد بدأت بالتابع print متبوعا بنص من اختيارنا ضمن علامتي الاقتباس، مع مراعاة ان كل جمل التابع مكتوبة ضمن علامتي اقتباس، سواء المفردة ‘ ‘ او المزدوجة ” “، الا في حالة كان المطلوب ظهورها نفسها في النص (كفاصلة عليا في اللغة الانكليزية سيتم اخذ الاشارة المزدوجة.

مخاطبة بايثون

سيتم التعلم على كيفية مخاطبة بايثون ، لكن قبل ذلك سنحتاج الى تنصيب برنامج بايثون على الحاسوب، وتعلم طريقة تشغيله ، نقترج زيارة موقع https://electronics go.com/install-python/ او www.py4e.com اذ تم توضيح الاجراءات اللازمة للتنصيب والتشغيل على انظمة ماكنتوش وويندوز، مرفقة بلقطات الشاشة ، اثناء ذلك ستصل الى مرحلة تستخدم فيها نافذة الاوامر Command Window او terminal لتكتب كلمة “Python” ويبدأ مفسر بايثون (interpreter) بالعمل، ويعرض مايلي:

الرموز <<< هي طريقة مفسر بايثون ليسألك ” ماذا تريدني ان افعل الان” .

المفسر والمترجم

تعد بايثون لغة عالية المستوى، اي انها صممت لتكون واضحة نسبياً للبشر، وللحواسيب في الوقت نفسه لتقراها وتعالجها. ومن اللغات عالية المستوى ايضا : JavaScript, ++C, Basic, Ruby, Perl وغيرها الكثير. وحدة المعالجة المركزية (CPU) لاتفهم اياً من اللغات هذه، بل تفهم فقط لغة واحدة ندعوها لغة الالة وهي :

اذ تتالف من الصفر والواحد، لكن ستجد انها صعبة ومعقدة جدا مقارنة مع بايثون، لذا انشأت العديد من المترجمات حتى نستطيع البرمجة بلغات عالية المستوى كبايثون وجافا سكربت، وتحول هذه المترجمات تلك البرامج الى لغة الالة، حيث تنفذها وحدة المعالجة المركزية (CPU). وباعتبار ان لغة الالة مرتبطة بعتاد الحاسوب الصلب، فما من طريقة لنقلها بين مختلف انواع العتاد، بينما من الممكن نقل البرامج المكتوبة بلغة اكثر تعقيدا باستعمال مفسر مختلف لالة اخرى، او اعادة جمع الشفرة لانشاء نسخة من البرنامج بلغة الالة من اجل الة اخرى. وتتم هذه العملية غبر المفسرات (interpreters) والمترجمات (compilers). يقرأ المفسر البرنامج المصدري كما كتبه المبرمج ويحلله ويفسر تعليماته مباشرة للالة. تستعمل بايثون هذه التقنية، فعند تشغيلنا لبايثون بشكل تفاعلي نستطيع كتابة سطر برمجة لتعالجة بايثون مباشرة ، ثم تنتظر كتابة سطر اخر، قد نحتاج لتذكر قيم معينة لاستعمالها لاحقا في برنامج فنختار اسماء لتلك القيم لنتمكن من حفظها واسترجاعها حين نحتاجها، وندعو هذه الاسماء “المتغيرات”:

كتابة البرنامج

تعد كتابة الاوامر في مفسر بايثون طريقة رائعة لاختبار بعض مميزات بايثون، ولكن لايوصى بها عند محاولة حل مشكلات معقدة، لذا سنستخدم محرر نصوص عند البرمجة لنكتب تعليما بايثون في ملف يدعى نصاً برمجياً (script) ، ومن المتعارف عليه انها تملك النصوص البرمجية في بايثون اللاحقة “py.” لتنفيذ النص البرمجي ، يجب ان تخبر مفسر بايثون باسم الملف، حيث نكتب في نافذة الاوامر python hello.py ما يأتي:

علامة الدولار $ تمثل اشارة نظام التشغيل، ويخبرنا cat hello.py ان الملف hello.py يحوي برنامج ذا سطر واحد يطبع نصاً ، ثم نستدعي مفسر بايثون لنطلب منه قراءة الشفرة المصدرية من الملف hello.py بدلا من نكتبه يديوياً، وكما نلاحظ ان بايثون تعلم ان عليه التوقف عن التنفيذ عن الوصول الى نهاية الملف الذي تقرا منه برنامجك، لذا لسنا مضطرين لاستعمال() quit في نهاية البرنامج.

Similar Posts

اترك تعليقاً