Python позволяет вам возвращать из функции несколько значений.
Для этого необходимо вернуть структуру данных, содержащую эти несколько значений. Например, список количества английских слов, которые надо выучить за день.
Еще несколько значений можно возвращать, перечислив их через запятую после команды
Python | Notes
Для этого необходимо вернуть структуру данных, содержащую эти несколько значений. Например, список количества английских слов, которые надо выучить за день.
Еще несколько значений можно возвращать, перечислив их через запятую после команды
return.Python | Notes
👍15👏1😁1
Выражения генераторы
Интересное расширение Python, обобщающее list comprehension, — выражения-генераторы. Они работают совершенно аналогично list comprehension, только без создания в памяти собственно списка. Числа создаются по ходу дела, без сохранения их явным образом в списке.
Например, вместо вычисления квадратов первых 20 натуральных чисел с помощью list comprehension:
Python | Notes
Интересное расширение Python, обобщающее list comprehension, — выражения-генераторы. Они работают совершенно аналогично list comprehension, только без создания в памяти собственно списка. Числа создаются по ходу дела, без сохранения их явным образом в списке.
Например, вместо вычисления квадратов первых 20 натуральных чисел с помощью list comprehension:
sum([x*x for x in range(20)])можно воспользоваться выражением-генератором:
sum(x*x for x in range(20))
Использование данного способа ускоряет выполнение программы.Python | Notes
👍22
Функция help
Если вы находитесь в
В действительности вы, скорее всего, будете обращаться за помощью к поисковой системе. Но если вы уже находитесь в
Python | Notes
Если вы находитесь в
Python Shell или делаете отладку кода с использованием breakpoint, и хотите знать, как работает определённый объект, метод или атрибут, функция help поможет вам.В действительности вы, скорее всего, будете обращаться за помощью к поисковой системе. Но если вы уже находитесь в
Python Shell, вызов help(list.append) будет быстрее, чем поиск документации в Google.Python | Notes
👍14❤🔥1😁1
Модуль dis
Вы когда-нибудь задумывались, что Python делает под капотом? Со стандартным модулем библиотеки
Python | Notes
Вы когда-нибудь задумывались, что Python делает под капотом? Со стандартным модулем библиотеки
dis вы можете легко посмотреть. Эта библиотека позволяет декомпилировать байт-код Python и изучить его.Python | Notes
👍11❤🔥2
KD-деревья — это структура данных, оптимизированная для запросов ближайших соседей. Например, в наборе точек можно эффективно узнать, какие точки являются ближайшими к определенной заданной точке.
Метод KDTree() возвращает объект KDTree. Метод query() возвращает расстояние до ближайшего соседа и местоположение соседей.
Python | Notes
Метод KDTree() возвращает объект KDTree. Метод query() возвращает расстояние до ближайшего соседа и местоположение соседей.
Python | Notes
👍10
issuperset
Метод issuperset() возвращает True, если множество содержит все элементы другого множества (передается как аргумент). Если нет, возвращается False. Также можно использовать оператор >=, однако он требует множеств по обе стороны. Метод issuperset может принимать любой объект.
Python | Notes
Метод issuperset() возвращает True, если множество содержит все элементы другого множества (передается как аргумент). Если нет, возвращается False. Также можно использовать оператор >=, однако он требует множеств по обе стороны. Метод issuperset может принимать любой объект.
Python | Notes
⚡11
В Python есть библиотека с именем UUID (универсальный уникальный идентификатор) для генерации случайного объекта длиной 128 бит. Эта библиотека генерирует уникальные идентификаторы на основе системного времени и сетевого адреса компьютера.
Объект UUID неизменяем и содержит некоторые функции для создания различных уникальных идентификаторов. UUID используется для многих целей, таких как:
- создание уникального случайного идентификатора
- MAC-адреса на основе идентификатора
- криптографических значений
- хеш-функции и тд.
Python | Notes
Объект UUID неизменяем и содержит некоторые функции для создания различных уникальных идентификаторов. UUID используется для многих целей, таких как:
- создание уникального случайного идентификатора
- MAC-адреса на основе идентификатора
- криптографических значений
- хеш-функции и тд.
Python | Notes
👍20
Функция getsizeof()
Модуль sys стандартной библиотеки предоставляет функцию getsizeof(). Эта функция принимает объект (объект может быть любого типа), вызывает метод
Сегодня эту функцию испытаем на числах.
Python | Notes
Модуль sys стандартной библиотеки предоставляет функцию getsizeof(). Эта функция принимает объект (объект может быть любого типа), вызывает метод
sizeof() и возвращает размер объекта в байтах, поэтому вы также можете сделать ваши объекты инспектируемыми.Сегодня эту функцию испытаем на числах.
Python | Notes
👍9
The Interface Segregation Principle
Принцип разделения интерфейсов. Создавайте узкоспециализированные интерфейсы и не вынуждайте клиента зависеть от неиспользуемых интерфейсов. Допустим есть класс Auto с методами комплектаций для всех автомобилей. Если мы наследуемся от интерфейса, то все методы реализованные в нем должны быть описаны в классе-потомке. В результате чего классы могут получить ненужные методы. Для решения этой проблемы мы разделяем интерфейсы.
Python | Notes
Принцип разделения интерфейсов. Создавайте узкоспециализированные интерфейсы и не вынуждайте клиента зависеть от неиспользуемых интерфейсов. Допустим есть класс Auto с методами комплектаций для всех автомобилей. Если мы наследуемся от интерфейса, то все методы реализованные в нем должны быть описаны в классе-потомке. В результате чего классы могут получить ненужные методы. Для решения этой проблемы мы разделяем интерфейсы.
Python | Notes
👍6⚡2
Размещайте метод __init__ в самом начале
Хотя для большинства из нас это правило очевидно, но встречаются программисты, которые “прячут”
При наличии атрибутов класса метод
Python | Notes
Хотя для большинства из нас это правило очевидно, но встречаются программисты, которые “прячут”
__init__ глубоко в теле класса с другими атрибутами. Располагать же его следует в самом начале класса до упоминания всех остальных методов, поскольку именно там его будут искать при чтении.При наличии атрибутов класса метод
__init__ размещается после них. Во избежание путаницы этого принципа следует последовательно придерживаться при определении всех классов проекта.Python | Notes
👍12🥰1