Введение в Python (Красота) - страница 20

должна возвращать значение True / False, чтобы элементы корректно отфильтровались.

Функция reduce() в Python:

Функция reduce принимает 2 аргумента: функцию и последовательность. reduce() последовательно применяет функцию-аргумент к элементам списка, возвращает единичное значение. Обратите внимание в Python 2.x функция reduce доступна как встроенная, в то время, как в Python 3 она была перемещена в модуль functools.

Вычисление суммы всех элементов списка при помощи reduce:


>1 | from functools import reduce

>2 | items = [1,2,3,4,5]

>3 | sum_all = reduce(lambda x,y: x + y, items)

>4 |

>5 | print (sum_all)

> 15


Вычисление наибольшего элемента в списке при помощи reduce:


>1 | from functolls import reduce

>2 | items = [1, 24, 17, 14, 9, 32, 2]

>3 | all_max = reduce(lambda a,b: a if (a > b) else b, items)

>4 |

>5 | print (all_max)

> 32


Функция zip() в Python:

Функция zip объединяет в кортежи элементы из последовательностей переданных в качестве аргументов.


>1 | a = [1,2,3]

>2 | b = "xyz"

>3 | c = (None, True)

>4 |

>5 | res = list(zip(a, b, c))

>6 | print (res)

> [(1, 'x', None), (2, 'y', True)]


Обратите внимание, что zip прекращает выполнение, как только достигнут конец самого короткого списка.

Объектно-ориентированное программирование в Python


Published: 04 November 2014

* ООП


Объектно-ориентированным программированием называется такой подход к программированию, в котором используются понятия класса и объекта. Говоря проще, когда перед нами стоит задача запрограммировать какой-либо объект, то намного легче сделать это описав этот объект, чем написав ряд функций.

Терминология объектно-ориентированного программирования:

* Класс (Class): Определенный программистом прототип программируемого объекта с набором атрибутов (переменных и методов), которые описывают данный объект. Доступ к аттрибутам и методам осуществляется через точку

* Переменная класса (Class variable): Переменная, доступная для всех экземпляров данного класса. Определяется внутри класса, но вне любых методов класса.

* Экземпляр класса (Instance): Отдельный объект-представитель определенного класса.

* Переменная экземпляра класса (Instance variable): Переменная определенная внутри медота класса, принадлежащая только к этому классу.

* Метод (Method): Особая функция, определенная внутри класса.

* Наследование (Inheritance): Передача аттрибутов и методов родительского класса дочерним классам.

* Перегрузка функций (Function overloading): Изменение работы метода, унаследованного дочерним классом от родительского класса.

* Перегрузка операторов (Operator overloading)