الأحد، 3 يوليو 2011

مفهوم دوال الكائنات في بايثون objects methods in Python

اعتذر عن الانقطاع السابق
دعونا نكمل ما تحدثنا عنه سابقا
كنا نتحدث عن الدوال ومفهومها
وكنت وعدتكم بالتحدث عن الوحدات modules  ولكن وجدت اننا بحاجه لنوع من تنشيط الذاكرة ورؤية استخدامات اخرى للدوال حيث انها من الاهمية بما يكفي

دعونا نضرب مثلا
نكون قائمة مثلا List


>>> myList= ['Python','C Sharp','C Plus Plus','Java','Visual Basic']
>>> myList
['Python', 'C Sharp', 'C Plus Plus', 'Java', 'Visual Basic']
>>> 

دعونا نجرب دالة index 
انها تعيد مكان-ترتيب- عنصر ما في القائمة 
>>> myList.index('Java')
3
>>> 

ثم نجرب دالة العدد
انها - وهي تابعة لكائن القائمة myList تعني انها تعيد عدد مرات تكرار عنصر معين في القائمة
>>> myList.count('Java')
1

ثم دالة الترتيب
انها تعني -هنا ايضا- ترتيب عناصر القائمة ابجديا
>>> myList.sort()
>>> myList
['C Plus Plus', 'C Sharp', 'Java', 'Python', 'Visual Basic']

ثم دالة العكس 
انها تعكس ترتيب عناصر القائمة

>>> myList.reverse()
>>> myList
['Visual Basic', 'Python', 'Java', 'C Sharp', 'C Plus Plus']


دالة pop وهي تعني اخراج عنصر ما من القائمة واعادتة لنا 
>>> myList.pop(3)
'C Sharp'
>>> myList
['Visual Basic', 'Python', 'Java', 'C Plus Plus']

نلاحظ هنا اننا قمنا بعمل pop للعنصر رقم 3 فقام بايثون بطباعته- اي رده الينا- وفي نفس الوقت مسحه من القائمة

ويختلف هذا عن دالة المسح remove قليلا
فهي تقوم بالمسح فقط

>>> myList.remove('C Plus Plus')
>>> myList
['Visual Basic', 'Python', 'Java']






الان حان موعد واجبنا المنزلي

تخيل ما هو مكتوب في دالة pop كي تقوم بما تقوم به فعلا

ارجو ترك الواجب المنزلي في التعليق





هناك تعليقان (2):

  1. def pop(List, index=-1):
    del List[index]
    return List[index]

    l=range(6)
    print pop(l)
    print l
    print pop(l, 6)

    """
    4
    [0, 1, 2, 3, 4]
    Traceback (most recent call last):
    ... ..., line 2, in pop
    del List[index]
    IndexError: list assignment index out of range.
    """

    """
    pop(...)
    L.pop([index]) -> item -- remove and return item at index (default last).
    Raises IndexError if list is empty or index is out of range.
    """

    ردحذف