تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مقدمة إلى بايثون
#1
كاتب الموضوع : أحمد جمال

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


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


بداية :

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

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

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


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


كود :
[SIZE=3]sudo apt-get install python[/SIZE]


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

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

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


كود :
[SIZE=3]python[/SIZE]

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


كود :
[SIZE=3] s='Welcome Ahmed';
print s[/SIZE]


والنتيجة :


وللخروج اطبع 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.'


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


كود :
[SIZE=3]# 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.'[/SIZE]


تعريف الدوال :


كود :
[SIZE=3] def funcHello():
‫‪print 'Hello'[/SIZE]
[SIZE=3]‬‬
‫‪funcHello()[/SIZE]


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

يمكنك استخدام برامج خارجية لتصميم الواجهات ، هذا الرابط مفيد جداً :
http://arabicfoss.blogspot.com/2009/01/pyqt4.html
لكن لو احببت البدء بالموضوع من البداية ، فأول ما ستحتاج إليه هو استخدام مكتبة رسوميات مناسبة ، هذه المكتبة مثال pygtk .

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


كود :
[SIZE=3]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();[/SIZE]


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

والويب :
تحتاج لاستخدام framework خاص بالويب ، أشهرها هو django ، يمكنك البدء من هنا :
http://wiki.python.org/moin/WebFrameworks

مصادر :
وجدت عدة مواقع باللغة الإنجليزية وكتب تشرح البايثون ، لكن باللغة العربية لم أعثر على أفضل من هذا الكتاب :
http://www.maastaar.com/books/pygtk/Building-Applications-With-PyGTK-and-SQLite.pdf
شكراً لكاتبه وجعل الله جهده في ميزان حسناته .

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


والسلام عليكم ورحمة الله وبركاته .
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كتاب بايثون بلمسة للمبتدئين Ahmad Jawad 0 496 23-10-12, 08:44 AM
آخر رد: Ahmad Jawad

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم