/Python: Part(2)

Python: Part(2)

في هذا العدد من المجلة نستكمل الحديث عن إحدى أفضل وأبسط لغات البرمجة (Python)

حفظ وتشغيل كود البايثون (Saving and Executing Your Programs) :

في البداية  تقوم بكتابة البرنامج فى محرر النصوص المفضل لك ثم تقوم بحفظه على هيئة ملف امتداد (py.) ، وفى الملف وقبل كتابه الكود تقوم باضافة هذا السطر :

#!/usr/bin/env python

هذا السطر يخبر بالمكان الموجود فيه البايثون بحيث يتيح لك إعادة  استخدام الكود مرة اخرى دون الحاجة فى كل مرة الى اخباره بمسار البايثون الجديد ، مثال :

#!/usr/bin/env python
x=raw_input(“Please enter name: “)
y=input(“Please enter your age: “)
z=raw_input(“Please enter your collage: “)
print x
print y
print z

لتنفيذ البرنامج اذهب الى المسار الموجود فيه الملف أولا ثم اكتب :

python +(file name)

 مثال :

 mohamed@mohamed:~$ cd Desktop/
mohamed@mohamed:~/Desktop$ python script-2.py
Please enter name: Ahmed
Please enter your age:27
Please enter your collage: fci
Ahmed
27
fci
——————————————————————————————————————————————

Chapter 2

 

المتتاليات في البايثون (Sequence in python) :

في البايثون يوجد 6 أنواع من المتتاليات ، سنتحدث عن اهم نوعين منها :

Lists -1

Tuples -2

 

القوائم (Lists) :-

وهي النوع الاول من المتتاليات في البايثون ، تتميز بإمكانية التعديل فيها والتغيير بسهولة .

مثال على الـ(List) :

>>>edward = [‘Edward Gumby’, 42]
>>> john = [‘John Smith’, 50]
>>> database = [edward, john]
>>> database
[[‘Edward Gumby’, 42], [‘John Smith’, 50]]

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

>>> x=[1, 2, 3, 4, “python”, 5]

كما يمكن كتابة (list) داخل (list) اخرى  :-

>>>x=[1, 2, 3, 4, [1, 2, 3], 5]

العمليات على القوائم (Operations on lists) :-

 

Indexing

جميع العناصر في الـ(list)  مرتبة بأرقام مميزة  بداية من [0] حتى [n-1] حيث n هو عدد العناصر في ال(list)

بمعنى ان اول عنصر في المتتالية يكون رقمه [0] ، على سبيل المثال :-

>>>x= ‘python’
>>>x[0]
‘p’
>>>x[1]
‘y’

بعض العمليات تحتاج الى  العد بداية من آخر عنصر في المتتالية .

البايثون تتيح هذه الإمكانية بكل سهولة ، فعندما تبدأ العد من النهاية ، تستخدم الأعداد السالبة كما في المثال التالي :-

>>>x=’python’
>>>x[-1]
‘n’

Slicing

هو عرض جزء معين من ال(list) بمعنى اخر تقوم بعمل (sub list)وتقوم بالتحكم في كل من بداية ونهاية ال(sub list) لعرض الجزء الذي تريده من ال(list) الأصلية

>>> x = [1, 2,  3,  4, 5, 6, 7, 8, 9, 10]
>>> x[3:6]
[4, 5, 6]

في المثال السابق قمنا بعرض العناصر بداية من العنصر الرابع الذي يحمل رقم تسلسلي [3]

وانتهاء بالعنصر السادس والذي يحمل الرقم التسلسلي  [5] ، لكن لاحظ اننا عندما أردنا عرض العنصر السادس قمنا بكتابة الرقم التسلسلي للعنصر السابع ، وذلك لأن في هذه العملية سيتم عرض العنصر الذي يسبق الرقم التسلسلي الذي قمت بإدخاله .

فمثلا عندما تريد عرض العناصر بداية من العنصر الثاني وانتهاء بالعنصر الخامس ،تصبح الجملة هكذا :-

>>> x[1:5]
[2, 3, 4, 5]

ملحوظة : الرقم التسلسلي للعنصر السادس هو [5] وذلك لان بداية العد من الرقم [0]

كما يمكن أيضا عرض العناصر عن طريق الأعداد السالبة ليصبح الترتيب عكسيا ، وقد قمنا بالتحدث عن هذا سابقا .

>>> x[-4:-1]
[7, 8, 9]
>>> x[6:]
[7, 8, 9, 10]

في الحقيقة عملية ال(Slicing) لا تقوم بعرض العناصر فقط ، ولكن يمكننها ايضا عرض العناصر بترتيب معين .

>>> x[0:5:2]
[1, 3, 5]

في المثال السابق قمنا بعرض العناصر بداية من العنصر الاول وحتى العنصر الخامس ،ولكن بعض العناصر لم تظهر. ولفهم ذلك يجب معرفة ماذا يعني الرقم 2 في الخانة الثالثة ؟

ال(Slicing) تمكن المبرمج من عرض عناصر ال(list) بحيث يقوم بعرض عنصر ويتخطى العنصر الذي يليه .

>>> x[0:10:4]
[1, 5, 9]

في عملية ال(Slicing) يجب مراعاة البدأ من الرقم التسلسلي الاقل الى الاكبر ، وفي حالة حدوث العكس لن يتم عرض  أي عنصر من ال(list) :

>>> x[5:2]
[ ]

وينطبق الامر على الاعداد السالبة :

>>> x[-3:-6]
[ ]
built-in functions

تقوم بعض الدوال الجاهزة بأعمال مختلفة ، ففي المثال التالي تعمل “()len” على  عد العناصر داخل ال (list)

>>>len(x)
10

وتقوم “()max” بعرض اكبر قيمة  في ال(list) ، كما تعمل “()min” على عرض اقل عنصر .

>>>max(x)
10
>>>min(x)
1

تدعم البايثون العمليات الرياضية على ال (list) :

Adding
>>> [1, 2] + [4, 5, 6]
[1, 2, 4, 5, 6]
Multiplication
>>> [1, 2, 3] * 2
[1, 2, 3, 1, 2,3]

ذكرنا سابقا ان ال(list) في البايثون سهلة التعديل  . حيث تقوم بتحديد العنصر المراد تعديله عن طريق الرقم التسلسلي (Index) الخاص به وبكل سهولة تضع قيمته الجديدة .

>>>x = [1, 2, 3]

لاستبدال الرقم 2 بالرقم 4 :-

>>>x[1] = 4
>>> x
[1, 4, 3]

لإلغاء عنصر معين وليكن العنصر الثاني على سبيل المثال  :

>>> Del x [1]
[1, 3]
List Methods
>>>x = [1, 2, 1, 3]
لاستبدال عنصر بعنصر اخر في ال () نقوم بعمل الاتي
>>> x . insert (2, 5)

في الخانة الأولى نقوم بكتابة ال(index) الخاص بالرقم المراد استبداله ، وفي الخانة الثانية نكتب الرقم الجديد

x . insert(index, number)
>>>x
[1, 2, 1, 5, 3]

كما يمكن حساب عدد مرات تكرار عنصر معين في ال(list) :

>>>x.count (1)
2

لإضافة عنصر واحد في آخر ال(list)

>>>x.append(4)
>>> x
[1, 2, 1, 3, 4]

لإضافة العديد من العناصر في خطوة واحدة :

>>> y = [5, 6]
>>>x.extend (y)
>>> x
[1, 2, 1, 3, 5, 6]
 

،،، يتبع