Page 45 - 6734
P. 45

поточний
                   else: # інакше
                       raise StopIteration # генерувати
           StopIteration
               def __getitem__(self,i): # метод повертає елемент
           за індексом `i`
                   return self.lst[i]
           c=Container([1,2,3,4,5]) # створити об'єкт контейнера
           for i in c: # для кожного елемента в контейнері
               print i, # вивести його
           print
           print c[0] # вивести перший елемент (або с.lst[0])
           it=iter(c) # створити об'єкт ітератор (або так:
           c.__iter__())
           c.current=0 # установити поточний індекс
           print it.next(),it.next(),c[3] # вивести два наступні
           та четвертий

           1 2 3 4 5
           1
           2 3 4

                        Менеджери контексту і інструкція with

               Менеджер  контексту  –  це  об’єкт,  який  визначає  контекст
           (середовище) виконання інструкцій всередині блоку  with [19, 38].
           Містить  методи  __enter__  та  __exit__,  які  автоматично
           викликаються  на  початку  і  вкінці  блоку        with.  Часто
           використовується  під  час  роботи  з  файлами.  Приклад  показує
           створення і використання класу менеджера контексту.

           with open(__file__,'r') as f: # закриє файл
           автоматично
               print f.read(1)

           class A(object): # клас реалізує власний спосіб

                                          44
   40   41   42   43   44   45   46   47   48   49   50