ООП — преобразование типов
ООП — преобразование типов __int__(self) Преобразование типа в int. __long__(self) Преобразование типа в long. __float__(self) Преобразование типа в float. __complex__(self) Преобразование типа в комплексное число. __oct__(self) Преобразование типа в восьмеричное число. __hex__(self) Преобразование типа в шестнадцатиричное число. __index__(self) Преобразование типа к int, когда объект используется в срезах (выражения вида [start:stop:step]). Если вы определяете свой числовый […]
ООП — составные операции
ООП — составные операции __iadd__(self, other) Сложение с присваиванием. __isub__(self, other) Вычитание с присваиванием. __imul__(self, other) Умножение с присваиванием. __ifloordiv__(self, other) Целочисленное деление с присваиванием, оператор //=. __idiv__(self, other) Деление с присваиванием, оператор /=. __itruediv__(self, other) Правильное деление с присваиванием. Заметьте, что работает только если используется from __future__ import division. __imod_`(self, other) Остаток от деления […]
ООП — сравнение и математические операции
ООП — сравнение и математические операции По аналогии с __mul__ и операцией умножения: __add__(self, other) Сложение. __sub__(self, other) Вычитание. __mul__(self, other) Умножение. __floordiv__(self, other) Целочисленное деление, оператор //. __div__(self, other) Деление, оператор /. __truediv__(self, other) Правильное деление. Заметьте, что это работает только когда используется from __future__ import division. __mod__(self, other) Остаток от деления, оператор %. […]
ООП — переопределенные методы
__len__ -переопределение функции len() Различные методы, доступные разным типам данных пройденным ранее можно переопределять для класса: # переопределенная функция, возвращающая размер объекта класса def __len__(self): return len(self.some_iterable) После этого функция len(class) будет работать __getitem__ -переопределение оператора [] __setitem__ -переопределение оператора []= (задание переменной через индекс/итератор) class len_test: def __init__(self, some_iterable): self.some_iterable = some_iterable # переопределенная […]
ООП — Наследование
ООП — Наследование Наследование в Python весьма похож на наследование в языке C++ class Human(): def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex def showInfo(self): print(f’Человек: {self.name}, возраст {self.age}, пол {self.sex}’) Создадим класс – наследник от класса человек class SuperMan(Human): def __init__(self, name, age, sex, height, weight): #Надо вызвать […]
ООП — Методы и модификаторы доступа
ООП — Методы и модификаторы доступа В отличие от C++ нет модификаторов доступа как таковых – методы определяются с использованием соглашения о “внутренних и общедоступных методов” Одиночное подчеркивание в начале имени атрибута говорит о том, что переменная или метод не предназначен для использования вне методов класса, однако атрибут доступен по этому имени. Т.е. использовать этот […]
ООП — Классы
ООП — Классы class test(): def __init__(self, hey): self.hello = hey def print_hello(self): print(self.hello) # Создадим объект класса и передадим в него аргументы class_obj = test(‘привет’) # вызовем функцию класса class_obj.print_hello() //_____________________________________________________________________ self – ключевое слово позволяющее другим методам иметь к ним доступ – аналог ключевого слова this в C++ __init__ — конструктор класса
filtered — фильтрация
filtered При помощи указанной функции фильтрует элементы переданного объекта. filtered — это фильтрующая функция. Она принимает элемент фильтруемого объекта. Если функция вернёт False, данный элемент не попадёт в результат. Если передано None, считается что требуется применить тождественное отображение (lambda *args: args), таким образом все элементы, оцениваемые как False будут отфильтрованы. data = [‘+7123456789’, ‘+1123456789’, ‘8123456789’] […]
map (применить функцию к элементам)
map (применить функцию к элементам) map-применяет указанную функцию к каждому элементу указанной последовательности/последовательностей. Функция, которую следует применить к элементам последовательности или последовательностей, должна принимать количество элементов равное количеству последовательностей. list1 = [1, 2, 3, 4] list2 = [4, 3, 2, 1] def a_na_b(a, b): return a*b list(map(a_na_b, list1, list2)) #можно привести к списку
Функции
Функции Декомпозиция — способ разбиения текста программы на отдельные блоки, каждый из которых реализует определенную осмысленную задачу, часть общей работы. Одни и те же блоки могут быть использованы в разных местах программы (или нескольких программ). Абстракция — позволяет сконцентрироваться на смысле и сути данных и/или программы, не обращая внимания на особенности реализации этих данных и/или […]