موضوع: (جديد) للمبتدئين في البايثون

ردود: 13 | زيارات: 1129
  1. #1
    عضو متميز
    تاريخ التسجيل
    Sep 2008
    المنطقة
    السعودية
    ردود
    2,132

    Lightbulb (جديد) للمبتدئين في البايثون

    بسم الله الرحمن الرحيم

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

    اصدار البايثون المستخدم 2.4 ... الاصدار القديم .. تستطيع المتابعة بالاصدار الجديد 2.5

    الدرس يعتبر مقدمة بسيطه للغة البايثون ..


    بسم الله ...


    تعتبر لغة البايثون من اللغات الجميلة والسهلة في التعلم ... ومن اللغات المهمة ايضا ً على انها سهله ... حتى انها تقارن

    مع اللغات الاخرى المعروفة مثل : Perl,ٌRuby,Tcl,Java,or Scheme ... وراح اذكر بعض مميزات هذه اللغة ..

    =* البايثون تستخدم بشكل سهل وسياق مبسط يعني الكود قابل للقراءة ومفهوم

    =* البايثون لغة خفيفة الحركة حتى تسهل عليك عملك وهذا ما يجعل البايثون لغة مثاليه

    =* المعلومات الاساسيه متوفرة بالبايثون الأرقام (سواء عشريه أو أعداد كبيره أو غيره من الأعداد ) والخيوط المسماه بــ(Strings) تشمل هذه الخيوط ( ASCII and Unicode ) وكذلك القوائم و المعاجم .

    =* ولا انسى أن اللغة تدعم Object-Oriented Programming مع المصفوفات

    =* ايضا ً الكود أو الشفرة تستطيع ضمّه مع وحدات القياس (Modules) و الرزم (packages)

    =* المترجم في لغة البايثون ممتد بسهوله تستطيع إضافة (Modules) في المترجم الخاص
    بلغات أخرى مثل C or C++

    =* ايضا ً واجهة البايثون مبسطه جدا ً مجرد ما تكتب الكود تحصل على عملك بدون أي تعقيد .

    =* ايضا ً البايثون لغة مفتوحة المصدر open source

    =* البايثون تستطيع التعامل معاها بمختلف الأنظمة سوا ويندوز أو يونيكس او لينوكس أو ماكنتوش او حتى انظمة الجوالات .

    ملاحظه : (هذا مجرد تلخيص بسيط لهذه اللغة ... تستطيع التعرف على اللغة بشكل اكبر عن طريق Google )

    الآن بعد ماتعرفت على اللغة بسم الله نبدأ بتعلمها بشكل مبسط ...

    أولا : كيف يتم تطبيقها ؟ وكيف أبدا بكتابة اكوادها ؟

    في البداية يجب تحميل وتنزيل البايثون على جهازك سواء كنت تحت بيئة الويندوز أو اليونكس أو الماكنتوش وتستطيع تنزيله

    من الموقع الرئيسي لهذه اللغة عنوان الموقع ( http://www.python.org/download )

    تطبيقنا راح يكون على بيئة الويندوز بإذن الله ..



    ثانيا ً : ماذا بعد التنزيل ؟

    بعد ماتقوم بتنزيل البرنامج وتثبيته عندك تلاحظ وجود طريقتين عندك لتبدأ عملك مع هذه اللغة

    الاولى : عن طريق سطر الأوامر ( Command Line )

    طبعا ً سطر الأوامر من الحاجات الممتعة ويحب الكثير وخصوصا المتمرسين واللذين يحبون الغموض والشاشة

    السوداء .. قد يكون البعض يفضل التعامل مع هذه اللغة عن طريقه ..

    الثانية : عن طريقه الواجهة الرسوميه (IDLE) ( graphical)

    أنا أُفضل الواجهة الرسوميه بالتأكيد .... وانصح فيها المبتدئين حتى يسهل عليه التعامل مع هذه الواجهة سوا تعديل أو حذف

    عن طريق استخدام الفارة .

    الآن بعد ما تم تشغيل الواجهة عندك .. ماذا تلاحظ ؟ لنرى !


    كود:
    Python 2.4.1 (#65, Mar 30 2005, 09:13:57) [MSC v.1310 32 bit (Intel)] on win32
    كود:
     
    
    Type "copyright", "credits" or "license()" for more information.
    ****************************************************************
    Personal firewall software may warn about the connection IDLE makes to its subprocess using this computer's internal loopback interface. This connection is not visible on any external interface and no data is sent to or received from the Internet. ****************************************************************
    IDLE 1.1.1
    >>>
    تجد العلامة "<<<" بحثت عن معناها أو المسمى لها بالعربي وجدت لها معنى يمكن يكون ليس مفهوم عند البعض .. على العموم المسمى هو prompt

    إذا بحثت عن معناها بالعربي تجد المعنى (المحثث) من الحث يحُث

    الـ prompt تجده في كل مكان .. لو تلاحظ الدوس الـ prompt تبعه هو :

    "C:\>"

    واليونيكس :

    "$"

    والـprompt هو برنامج ينتظرك أنت (المستخدم) حتى تعطيه التعليمات ^_^


    ثالثا ً : التعامل مع الواجهة والبدء

    التعامل مع البايثون بسيط وسهل وسلس جدا ... لاحظ :


    كود:
    IDLE 1.1.1
    كود:
    >>> 1
    1 >>> 2 2 >>> 99 99 >>> 1230440340 1230440340 >>> sami = 20 >>> ahmad = 50 >>> saleh = 99.99 >>> sami 20 >>> saleh 99.989999999999995 >>> ahmad 50 >>>

    مثل ما تلاحظ بالأعلى تُدخل الأمر وتلاحظه يعرض النتيجة أمامك بسرعة ! وتلاحظ أن البايثون يُعرف المتغير بحسب

    استخدامك له لا تحتاج لمعلومات معينه أو متغيرات معينه .. لغة البايثون ذكيه جدا ً لتعرف نوع المتغير

    سواء كان أرقام أو حروف أو قوائم ... الخ

    رابعا ً : أنواع المعلومات والقيم في البايثون

    كل شي له قيمه او معلومة سواء كان في البايثون او غيره .. لكن البايثون كما ذكرنا ذكي جدا ً بحيث يتعرف على جميع

    الملعومات والقيم ..

    توضيح :

    تلاحظ في بعض لغات البرمجة الاخرى مثل C or C++ a اذا اراد كتابة متغير يقوم بكتابة نوع هذا المتغير قبل

    استخدامه .. على سبيل المثال :

    كود:
    int my_integer;

    هذا المتغير يقوم بـ إخبار المترجم او المفسر يحجز مكان في الذاكرة لكي يقوم المترجم بالتعامل مع المعالج ! (وجع راس !)

    لاحظ ان لازم تحدد نوع المتغير ..

    اما البايثون .. لغة ديناميكية .. يعني توضح لك نوع المتغير بدون ما أنت توضحه (بدون وجع راس !)

    ولا تحتاج لـ كومبايلر .. لاحظ المثال الآتي :

    كود:
    IDLE 1.1.1
    كود:
    >>> s = 1
    >>> s 1 >>> type (s) <type 'int'> >>> s + 5 6
    >>> s = 'sa' >>> s 'sa' >>> type (s) <type 'str'> >>> s + 5
    Traceback (most recent call last): File "<pyshell#7>", line 1, in -toplevel- s + 5 TypeError: cannot concatenate 'str' and 'int' objects >>> s + 'mi' 'sami' >>>

    فهمت المقصود من المثال ؟ على العموم راح اشرحه حتى تتضح الفكره ...

    نبدأ بأول الكود ..
    كود:
    IDLE 1.1.1
    كود:
    >>> s = 1
    >>> s 1


    هنا سوينا حرف s بالواحد (أصبح الحرف الآن متغير يحمل قيمه ) ..

    بحيث إذا طلبت الحرف s يطلع لك قيمته وهي الرقم واحد ..

    الجزء الثاني من القسم الأول من الكود :
    كود:
    >>> type (s)
    كود:
    <type 'int'>
    >>> s + 5 6

    مثل ما أنت شايف كتبت type (s)a طبعا هنا مو مثل اللغات الأخرى (C or C++) ما يحتاج تخزن المتغير ونوعه

    حتى يتم التعرف عليه من المعالج .. مجرد ما تكتب المتغير يطبع لك نوعه .. مثل ما أنت شايف نوع المتغير s هو int

    يعني integer أي عدد صحيح بالعربي .. ولاحظ بالأخير عملية الجمع أضفنا 5 على المتغير طلع لنا الناتج 6 ^_^

    باقي المثال واضح .. لكن أحب أوضح حاجه من المثال ..

    كود:
    >>> s = 'sa'
    كود:
    >>> s
    'sa' >>> type (s) <type 'str'> >>> s + 5
    Traceback (most recent call last): File "<pyshell#7>", line 1, in -toplevel- s + 5 TypeError: cannot concatenate 'str' and 'int' objects >>> s + 'mi' 'sami' >>>

    لاحظ عندما جمعنا المتغير s مع العدد 5 طلع لك خطأ (لاحظ أن نوع الخطأ موضح لك) طبعا السبب واضح لا نستطيع

    إضافة حروف مع أعداد .. شوف بعد ما عملنا إضافة أحرف مع أحرف كل شي تمام وبدون أي مشاكل ..

    فيه نقطة لازم أوضحها بالنسبة للمتغيرات وإضافة الأحرف وأعداد مع بعض .. ذكرنا قبل قليل لا نستطيع إضافة حروف مع

    أعداد ! لكن لماذا ؟

    *ما خطر في بالك ليش .. أو مسكت عناد وقلت لازم أضيف عدد مع حرف (كيفي !)

    طبعا تستطيع إضافة أعداد مع حروف لاحظ المثال الآتي ما راح اشرح المثال راح يكون واضح واعرف السبب بنفسك

    ليش تم جمع أعداد مع حروف ؟

    كود:
    >>> s = 'sa'
    كود:
    >>> s
    'sa' >>> type (s) <type 'str'> >>> s + 5
    Traceback (most recent call last): File "<pyshell#7>", line 1, in -toplevel- s + 5 TypeError: cannot concatenate 'str' and 'int' objects >>> s + 'mi' 'sami' >>> s + '123' 'sa123' >>>

    أتمنى الفكره وضحت !


    خامسا ً : الفونكشن ( Function )

    الفونكشن بالبايثون مثل أي لغة أخرى يعني نفس الوظيفة والعمل وكل شي ..

    بشكل عام .... عندما يتم تعريف الفونكشن ويقوم المبرمج بتحديد اسم للفونكشن بيكون كل شي تمام ..
    وطبعا دائما ً يعود (return) الفونكشن على قيمه معينه .. وأن أردت أن لا يعود على قيمه تكون القيمة None .

    لو تلاحظ اللغات الأخرى (اللغات التي تحتاج مترجم Compile)
    يكون الفونكشن مُعرف بملف مصدري ( source code ) ثم يتم تحويل الملف (عن طريق المترجم)
    إلى تعليمات المعالج .. أما في بالبايثون يتم تعريف الفونكشن بشكل مباشر عن طريق def

    كود:
    IDLE 1.1.1
    كود:
    >>> def MyName():
    "NH-STYLE"
    >>> MyName <function MyFirstFunction at 0x00CB2670>
    >>> print MyName.__doc__ NH-STYLE

    شيئين لازم يكونون في بالك إذا كتبت الفونكشن ...

    ## جميع الفونكشنز :] دائما ً تعود (return) على قيمه .. في المثال السابق القيمة تعود على None

    وحتى لو ما ذكرنها بالكود !

    ## بالنسبة للأقواس لازم تكون موجودة بالكود ...

    نأتي الآن إلى حاجه مهمة بالفونكشنز :] ما يسمى بـArguments من الحاجات الجميلة بالفونكشنز والسهلة وأيضا ً تعتبر

    من الطرق التي تساعد بإختصار الوقت ... عن طريق Arguments تقوم بتعريف الفونكشن بإضافة تعليق منك ^

    مثال :

    كود:
    IDLE 1.1.1
    كود:
    >>> def MyAdd(x, y):
    "Add two values and return the sum." return x + y

    لكود واضح ...

    قمنا بتعريف MyAdd اللي يقبل اثنين من Argument (x,y)a ولاحظ ان الفونكشن تعود على Arguments

    بحيث يقوم بعملية الجمع ..

    لاحظ التطبيق الفعلي لهذا المثال لتوضيح الفكره لديك :

    كود:
    IDLE 1.1.1
    كود:
    >>> def MyAdd(x, y):
    "Add two values and return the sum." return x + y
    >>> MyAdd (3,5) 8 >>> MyAdd (25,25) 50 >>>

    إن شالله وضحت الفكره .

    طيب يخطر على بالك لو عملنا نفس العمل لكن بدال الأعداد أحرف ؟ هل يتم العمل بشكل صحيح ؟

    الجواب : أكيد .. مع أننا وضعنا عندما كتبنا return وضعنا علامة (+) ! ؟ ... يعني البايثون يتم التعامل مع(+)سواء

    أعداد او حروف .. وهذا يسهل عليك العمل بكثير بالمقارنة مع اللغات الآخرى التي تحتاج للأرقام تعريف خاص والأعداد

    كذلك ... لكن لاتنسى كلامنا بالأول .. لاحظ المثال .

    على نفس المثال بالأعلى :

    كود:
    IDLE 1.1.1
    كود:
    >>> def MyAdd(x, y):
    "Add two values and return the sum." return x + y
    >>> MyAdd (3,5) 8 >>> MyAdd (25,25) 50 >>> MyAdd ("Sa","mi"... 'Sami'

    نأتي لقسم آخر من الفونكشن وهو القيم الخاصة بالـ return والتعامل معاها ....

    كما عرفنا بالأمثلة السابقة عمل الـreturn وأن الفونكشن لازم تعود على قيمه وجربنا طريقتين وهي الأولى التي لا تعود

    على قيمه معينه وتكون قيمتها None *والمثال الآخر حددنا قيم محدده ليعود إليها ...

    وأيضا ً بالبايثون تستطيع عمل ....

    مثال :

    كود:
    IDLE 1.1.1
    كود:
    >>> def ReturnStuff():
    return 10,20,30,40,50 >>> ReturnStuff() (10, 20, 30, 40, 50)

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

    الفونكشن بحيث تعود هذه القيم على المتغيرات المحددة ...

    كود:
    >>> ahmad,bader,sami,saleh,faris=ReturnStuff()
    كود:
    >>> ahmad
    10 >>> bader 20 >>> sami 30 >>> saleh 40 >>> faris 50

    ^_^ كل متغير يعود عليه فونكشن حسب الترتيب ...

    لحد هنا ينتهي الدرس .. واتمنى ان اكون وفقت بطرحه ... وبإذن الله بأقرب فرصه اكمل الباقي وتوضيح بعض الحاجات المهمه ...






    ول نعيد المجد العظيم لأمة * كانت منارا للعلوم قديما


  2. #2
    CINEMA 4D DESIGNER
    صور رمزية KING.SMB
    تاريخ التسجيل
    Jul 2008
    المنطقة
    K.S.A_الرياض
    العمر
    24
    ردود
    6,585
    جزاك لله خير

    طيب لغة البايثون تنفع لألعاب البلندر؟
    ¨°o.O (قد يختفي الأمل...لكن لا يموت) O.o°¨


    شَكَوْتُ إلَى وَكِيعٍ سُوءَ حِفْظِي فَأرْشَدَنِي إلَى تَرْكِ المعَاصي وَأخْبَرَنِي بأَنَّ العِلْمَ نُورٌونورُ الله لا يهدى لعاصي

  3. #3
    master 3D
    صور رمزية jagalinho
    تاريخ التسجيل
    Jun 2008
    المنطقة
    الـــــمـــــغـــرب بالخصوص في تطوان
    العمر
    22
    ردود
    3,541
    شككككرا جزيييلا
    رغم أنني مالي في البايتون و محرك الألعاب لأني أنا لازلت أتعلم النمدجة و الخامات اكتسبت من هذا الموضوع معلومات جميييييلة جدا
    بلاد الحر طبتي يا بلادي *** ملاذا طاب عيشك في فؤادي

    blender for ever

  4. #4
    master 3D
    صور رمزية jagalinho
    تاريخ التسجيل
    Jun 2008
    المنطقة
    الـــــمـــــغـــرب بالخصوص في تطوان
    العمر
    22
    ردود
    3,541
    بالنسبة للأخ ملك الحرية البايثون ضرووري جدا في محرك الألعاب
    بلاد الحر طبتي يا بلادي *** ملاذا طاب عيشك في فؤادي

    blender for ever

  5. #5
    CINEMA 4D DESIGNER
    صور رمزية KING.SMB
    تاريخ التسجيل
    Jul 2008
    المنطقة
    K.S.A_الرياض
    العمر
    24
    ردود
    6,585
    اقتباس الموضوع الأصلي كتب بواسطة jagalinho معاينة الرد
    بالنسبة للأخ ملك الحرية البايثون ضرووري جدا في محرك الألعاب

    يوووووه

    والله اني ماأفهم في البايثون شي

    ^_____×
    ¨°o.O (قد يختفي الأمل...لكن لا يموت) O.o°¨


    شَكَوْتُ إلَى وَكِيعٍ سُوءَ حِفْظِي فَأرْشَدَنِي إلَى تَرْكِ المعَاصي وَأخْبَرَنِي بأَنَّ العِلْمَ نُورٌونورُ الله لا يهدى لعاصي

  6. #6
    Registered User
    تاريخ التسجيل
    Jun 2007
    المنطقة
    tunis
    ردود
    119
    موضوع جميل
    الحقيقة هو مقدمة رائعة لمن لا يفقه في بيثون شيء ولا تفزعوا من تعلمها فهي من أسهل اللغات

  7. #7
    Registered User
    تاريخ التسجيل
    Aug 2006
    المنطقة
    مصر
    العمر
    30
    ردود
    7,129
    اقتباس الموضوع الأصلي كتب بواسطة ملك الحرية معاينة الرد
    يوووووه

    والله اني ماأفهم في البايثون شي

    ^_____×
    لو ما فمت شئ من هذا المقال جرب مقال آخر
    http://www.islamcg.com/blender/%d9%8...b%d9%88%d9%86/

    أنا كتبت أربعة مقالات فى البايثون و لكنى لم أكملها
    لكن اعتقد أنها بداية فقط لمن يريد البداية ثم عليك بالكتب الإنجليزية
    و لكنى فى يوما ما سأكملها إن شاء الله

    http://www.islamcg.com/blender/category/pythonarschool/

  8. #8
    عضو متميز
    تاريخ التسجيل
    Sep 2008
    المنطقة
    السعودية
    ردود
    2,132
    أشكركم جزيل الشكر على تفاعلكم معي وجزاكم الله خيرا

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



    ول نعيد المجد العظيم لأمة * كانت منارا للعلوم قديما

  9. #9
    عضو نشيط
    صور رمزية عتولا
    تاريخ التسجيل
    Sep 2008
    المنطقة
    . K . S . A .
    ردود
    702
    مشكور على هذا الدرس الأكثر من رائع ............................................................ في انتظار الجزء الثاني
    BLENDER 3D
    abo_walid

  10. #10
    عضو نشيط
    صور رمزية ISSA_4D
    تاريخ التسجيل
    Mar 2008
    المنطقة
    بلاد الرمال
    ردود
    796
    دا كتاب راااائع لتعليم هذا لغة

    http://www.kutub.info/library/open.php?cat=1&book=575

    ودا موقع الرسمى

    http://www.python.org/

    كاتب لغة هولندى الجنسية

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

    ذو العلم يشفي في النعيم بعقله ... و اخو الشقاوة في الجهالة ينعم


  11. #11
    مشكور اخى شجرة التوت دائما متألق
    حلمى ان اكون مصمم العاب و3دى ناجح

    ادعووووووووووووولى

    عضو في نادي محبي البطاطا

  12. #12
    Blender&Sculptris
    صور رمزية BaGheEra
    تاريخ التسجيل
    Sep 2008
    المنطقة
    KSA
    ردود
    4,051
    اخيرا قمت بالشرح على العموم شكرا على المجهود الرائع
    ان واجهتك صعوبة في اتقان التصميم اصمد وحاول وان حاولت وفشلت فلا بأس اعد المحاولة وان لم تفلح
    فحاول وان فلحت تكون نجحت وسر نجاحك هو اصرارك

  13. #13
    The Game Is Back
    تاريخ التسجيل
    Jun 2008
    المنطقة
    Cairo, Egypt, Egypt
    ردود
    2,845
    السلام عليكم ورحمه الله وبركاته
    شكرا على الموضوع...انا اعرف لغه البايثون معرفه سطحيه
    ... ماوصلت للغه البايثون ولكن يكفى انى عرفتها
    شكراpop_issa على الموقع والكتاب
    We GoT ReadY ThiS MontH..We Hv ReadY To FunZ
    JusT NeeD
    GuiteR FoR DancE ..La MalaguenA Is OnE. LetS ShooT GunZ
    AnD NoW We RuN ..We ReadY To DonE . We Make U DesperadO It's AnS... It's UR ChancE

    JusT Press KeY . AnD NoW Go PlaY .

    ═════
    ═════

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل