كيف تتعلم لغة بايثون؟

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

الخطوات

1.  قم بتحميل النسخة الأخيرة من لغة بايثون من الموقع التالي http://python.org/download/. وتعتبر نسخة بايثون2.5.1 نسخة مستقرة ويمكن الاعتماد عليها. كما تأكد من اختيار النسخة المتطابقة مع نظام تشغيلك ، ثم اتبع إرشادات التحميل.

2.  اختار الطريقة الملائمة لك لتتعامل مع لغة بايثون (هناك خياران). النمط التفاعلي (يستخدم بصورة أساسية برنامج دوس بالنسبة لمستخدمي نظام ويندوز) أو IDE (بيئة تطويرية متكاملة) عبارة عن نسخة محسنة من النمط التفاعلي السابق ذكره.

3. عند فتح البرنامج (النمط الذي اخترته)، من المهم بمكان أن تتعرف على طبيعة مكونات البرنامج الذي أمامك. في الأغلب سترى التالي في أعلى نافذة البرنامج (في كل من النمطين).

4.Python 2.4 (#1, , June 28 2007, 09:18:58)

5. [GCC 3.4.1] on sunos5
6.  قم بكتابة التالي على المحث "help" ، "credits" ، "copyright" أو "license"  لمزيد من المعلومات.

7.  الرمز <<< عبارة عن محث للدلالة على أن ما يأتي بعده عبارة عن بداية الرمز أو الكود.

8.  قم بطباعة الكود التالي print "Hello, world!" على المحث. عند الضغط على زر انتر ستقوم اللغة بطباعة التالي كنتيجة:

9.  Hello, world!

10. >>>
11. من خلال المثال السابق فقد قمت بالنقاط التالية: أولا كتبت برنامجك الأول بلغة بايثون. ببساطة أليس كذلك!! وثانيا لقد قمت بتعلم كيفية كتابة السلاسل النصية (string). وتقوم السلاسل النصية بتخزين اختبار أو بيانات ثنائية ، وهي بيانات ثابتة (لا يمكن تغييرها بعد تعيينها. ولا بد أن تحاط كل سلسة نصية بعلامتي تنصيص("").

12. 'This is a string' ---> هذه هي الهيئة الافتراضية لكتابة السلاسل النصية.

13. "This is a string" ---> هذا المثال (كما في المثال السابق) عبارة عن هروب الاقتباسات.

14. This is a string

15. تتعامل لغة بايثون مع كل هذه الأمثلة (الكود) بنفس الطريقة عند طباعة الناتج.

16. 'This is a string'

17.  وهنا يتم طرح السؤال التالي ، ما سبب تعدد الطرق في صياغة السلاسل النصية ضمن لغة بايثون؟؟ الجواب هو: هل ترغب أنت كمستخدم في كتابة سلسلة
نصية تحتوي على فاصلة أو علامة تنصيص ، سأخبرك كيف ستقوم بذلك؟؟ بسيطة!!

18. "Coding in Python isn't boring" ---> لاحظ الفاصلة ' في كتابة الصيغة المختصرة isn't.

19. Scott likes to say, "This is a string" ---> لاحظ وجود علامة التنصيص حول عبارة ما يحب أن يقوله الاسكوتلنديون.

20. هناك أيضا طريقة أخرى في التخلص من أي مشكلة تتعلق بوجود فواصل ضمن السلاسل النصية. فقط ضع خط مائل عكسي (\) قبل علامة الفاصلة ':

21. "\"Hello, world!\" Scott said" ---> لاحظ مواقع الخطوط المائلة ضمن السلسة النصية (لاحظ بأنك قد استخدمت رمز هروب (تخلص) آخر). ويوضع هذا الرمز قبل أي فاصلة ضمن السلسة النصية.

22. إذا قمت بطباعة ذلك على المحث (>>>) ستلاحظ النتيجة.

23. '"Hello, world!"' ---> لاحظ عدم وجود أي خط مائل ضمن السلسة النصية.

24. لضم سلسلتين نصيتين منفصلتين لإنشاء سلسة نصية واحدة تحتاج إلى ما يسمى بــ con·cat·e·nate (دمج سلسلتين نصيتين مع بعضهم البعض).

25. >>> 'This is' + 'a string'

26. 'This is a string'

27. كما بالإمكان إسناد السلاسل النصية لمتغيرات (وغيره الكثير من مميزات السلاسل النصية).

28. >>>x = 'This is'

29. >>>y = 'another test'

30. >>>x + y

31. 'This is another test'

32. لاحظ انك في حالة طباعة x = y عن طريق الخطأ ، ستقوم لغة بايثون بإسناد 'another test' للمتغير x. خذ بعين الاعتبار انك لا تستطيع دمج عدد صحيح (integer) مع سلسة نصية (string) حيث لم يمكن ذلك في اللغات اللغوية أيضا.

أفكارمفيدة

    *  إذا أخطأت في نقطة ما حاول مرة أخرى.
*  يمكنك تحميل إضافات للبيئة التي تستخدمها مثل Pygame.

تنبيهات

    *  لا تستخدم لغة بايثون لإنشاء فيروسات. ولكن يمكنك من استخدام الرمز الكودي لفايروس معين لإنشاء مكافح له.

ترجمة :   زاهر النوتكي
المصدر : How to Learn The Python Language

خيارات عرض التعليق

اختر الطريقة التي تفضلها لعرض التعليقات، ثم اضغط على "احفظ الإعدادات" لتفعل التغيرات.

تعقيب

في النقطة الثامنة الأمر الصحيح هو: print "Hello,World!" ، وليس Hello,World! لوحدها..
لا هنت على التقديم.

شكرا على التنبيه

شكرا على التنبيه أخي Napst3r و تم التعديل

لا يوجد مشكلة

لا يوجد مشكلة في عدم كتابة print لأن بايثون التفاعلية تعمل evaluation وتطبع القيمة الممثلة repr

النابستر معه حق

Napst3r معه حق...لاحظ النتيجة:

IDLE 1.2
>>> hello,world!
SyntaxError: invalid syntax
>>>

شكرا و أرجو أن تواصلوا لمعرفة المزيد عن هذه اللغة

أخي "المايسترو"، ظهر هذا الخطأ لأنك...

أخي "المايسترو"، ظهر هذا الخطأ لأنك لم تضع علامتي '' أو ""

مقالة مشجعة

مقالة مشجعة للبداية ومحمسة ...

للمزيد حول بايثون راجع هذه الوصلة
http://itwadi.com/byteofpython_arabi
تحوي على كتاب بالعربي يشرح اساسيات بايثون

شكراً لك اخي

شكراً لك اخي الكريم على هذه المقالة المشجعة
وقررت من الان تعلم ال python فانا لا اتقن سوى Php , html ,c

بالفعل لغة تستحق الاهتمام

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

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

والثانية هى المعيارية حيث هناك خيارات عديدة عن اختيار اداوت البيئة الرسومية GUI
وادوات برمجة الشبكات Network Programming
وهذه المسالة يتم حلها من خلال الاستفادة من خبرات الاخرين الذى استخدموا مختلف الادوات
المتوفرة ثم قدموا مقارنات عادلة توضح المميزات والعيوب لكل اداة حتى يستطيع كل شخص
اختيار مايناسبه

فمثلا فيما يختص بالبيئة الرسومية GUI هناك العديد من الادوات
ويتنافس على القمة PyQt و wxPython
وبما انى اتحمس ل Qt مع ++C على حساب wxWidgets بالنسبة لـ ++C
فلقد بدات بدراسة PyQt اولا ثم wxPython
حيث قضيت الاسبوع الماضى العديد من المعارك مع كل من PyQt و wxPython حتى احدد
ايهما افضل

وقد انتهيت بان wxPython هى الخيار الامثل فى عالم بايثون حيث
هناك العديد من الامثلة والمنهجية الراقية كما ان المستوى الاحترافى كافى لمعظم
التطبيقات بينما PyQt تم انتاجها من خلال الاداة SIP التى تحول C++ Classes الى
Python Classes والنتيجة النهائية ليست مرضية كما هو الحال مع wxPython
فضلا عن الحرية التى تتميز بها wxWidgets

وقد اطمن قلبى لهذا القرار عندما علمت ان Guido van rossum مصمم لغة بايثون
قد اشار الى ان wxPython هى افضل GUI للغة Python ولو انها اتت منذ زمن بعيد
لكانت هى الاداة الرسومية الاساسية للغة بايثون بدلا من Tkinter
المصدر : http://www.wxpython.org/quotes.php

والله الموفق

أخي "المايسترو"، ظهر هذا الخطأ لأنك...

أخي "المايسترو"، ظهر هذا الخطأ لأنك لم تضع علامتي '' أو ""

علِّق

محتويات هذا الحقل سرية ولن تظهر للآخرين.
  • تتحول مسارات مواقع وب و عناوين البريد الإلكتروني إلى روابط آليا.
  • Allowed HTML tags: <a> <b> <address> <blockquote> <br> <caption> <center> <code> <dd> <del> <div> <dl> <dt> <em> <font> <h2> <h3> <h4> <h5> <h6> <hr> <i> <img> <li> <ol> <p> <pre> <span> <strong> <sub> <sup> <table> <tbody> <td> <tfoot> <th> <thead> <tr> <u> <ul> <tr>
  • تفصل السطور و الفقرات تلقائيا.

معلومات أكثر عن خيارات التنسيق

كابتشا
هذا السؤال لمعرفة إذا ماكنت زائر بشري و لمنع رسائل السبام المزعجة.
3 + 1 =
حل مسألة الرياضيّات البسيطة هذه وأدخل الناتج. مثلا. أدخل 4 في حالة 1+3.
وادي التقنية ، أخبار تقنية المعلومات أول بأول، جميع الحقوق محفوظة لكاتبها ! ، يسمح بإعادة النشر بشرط ذكر المؤلف و الموقع . وادي التقنية @ 2008

Valid CSS!

تصميم - Luka Cvrk. ونقل إلى دروبال بواسطة ADT Drupal Themes وعرب بواسطة وادي التقنية.

sfy39587f11