مقدمة إلى بايثون

Tuesday, December 22, 2009 | | |

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .


خضت في الفترة الماضية تجربة بسيطة مع python على ububto 11 ، وكانت تجربة جيدة ، لذا أحببت أن أشارككم بها هنا ، لمستخدمي لينكس الموضوع بسيط لكن بالنسبة لمستخدمي ويندوز هناك ironpython ولكن لم أجرب العمل عليه .


بداية :


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


كيف أحمل البايثون :


في اوبنتو ستجد أغلب البرامج التي تطلبها موجودة في System->Administration->Synaptic Package Manager :

الآن تحتاج لاضافة مكتبات البايثون ، يمكنك اختيارها من البرنامج أو يمكنك تحميلها من خلال ال Terminal بالأمر التالي :

sudo apt-get install python


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



برنامجي الأول :


بعد أن تكون قد قمت بتحميل مكتبات البايثون ، ومن خلال Terminal قم بكتابة الأمر التالي :


python

ثم جرب كتابة كودك الأول بالشكل التالي ثم اضغط انتر :

s='Welcome Ahmed';
print s

والنتيجة :




وللخروج اطبع exit().





احفظ ملفاتك :






يمكنك فتح ملف نصي جديد وكتابة نفس الأوامر فيه ، ومن ثم حفظه بامتداد .py .

في هذه الحالة ومن التيرمنال يمكنك الوصول للملف


cd /home/ahmed/Desktop


ومن ثم :


python a.py


وستؤدي نفس النتيجة ، فقط ستحصل على الأكواد ملونة



اللغة :

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

الشروط :

x = int(raw_input('Enter Number : '))
if x == 100:
print '100%'
elif x < 50:
print 'So bad :('
else:
print 'it is ok.'

حلقات التكرار :

# exit from loop if x=10
while running:
x = int(raw_input('Enter Number : '))
if x == 10:
print 'it is exit now'
running = False
else:
print 'The while loop is over.'

تعريف الدوال

   def funcHello():
‫‪print 'Hello'
‬‬
‫‪funcHello()

ماذا عن تصميم الواجهات :

يمكنك استخدام برامج خارجية لتصميم الواجهات ، هذا الرابط مفيد جداً :

http://arabicfoss.blogspot.com/2009/01/pyqt4.html


لكن لو احببت البدء بالموضوع من البداية ، فأول ما ستحتاج إليه هو استخدام مكتبة رسوميات مناسبة ، هذه المكتبة مثال pygtk .

الآن لنجرب هذا الكود مثلاً - منقول من كتاب لتصميم الواجهات - :

import pygtk;
pygtk.require('2.0');
import gtk;
def delete_event(widget,data):
False;
def destroy(widget,data=None):
gtk.main_quit();
window = gtk.Window(gtk.WINDOW_TOPLEVEL);
window.set_title("Hello");
window.connect('delete_event',delete_event);
window.connect('destroy',destroy);
hello_world_button = gtk.Button("Hello");
hello_world_button.show();
window.add(hello_world_button);
window.show();
gtk.main();


الآن جرب وطالع النتيجة .

يمكنك البدء لاحقاً ببرمجة الأحداث وربطها ، ربما نشرحها في مرات قادمة بالتفصل .

والويب :



تحتاج لاستخدام framework خاص بالويب ، أشهرها هو django ، يمكنك البدء من هنا :

http://wiki.python.org/moin/WebFrameworks


مصادر :

وجدت عدة مواقع باللغة الإنجليزية وكتب تشرح البايثون ، لكن باللغة العربية لم أعثر على أفضل من هذا الكتاب :

http://www.maastaar.com/books/pygtk/Building-Applications-With-PyGTK-and-SQLite.pdf

شكراً لكاتبه وجعل الله جهده في ميزان حسناته .

ختام :
كل الشكر لمحمد نبيل على تعبه معي الفترة الماضية


والسلام عليكم ورحمة الله وبركاته .



6 comments:

  1. Ahmed Mubarak says:

    what about windows??

  2. Ahmed Gamal says:

    python for windows:

    http://docs.python.org/using/windows.html

    http://docs.python.org/using/windows.html

  3. Fatma Gamal says: This comment has been removed by a blog administrator.
  4. Mr.flex says:

    السلام عليكم
    ممكن استفسار بخصوص التشغيل
    فى لغة الفجوال بيزك بعد انتها البرنامج بيشتغل بصيغة exe
    هل فى البايثون بيشتغل البرنامج بعد الضغط عليه ولا لازم برامج مساعدة علشان فتح الملف وتشغيلة

  5. Ahmed Gamal says:

    هناك أدوات تحولها إلى صيغة تنفيذية مثل :
    http://www.py2exe.org/old/

  6. Jhonson Smith says: This comment has been removed by the author.