Объединение значений списка
Есть задача, объединить несколько списков разного размера в один. В голову сразу приходит цикл, который проходит по всем элементам в зависимости от длинны очередного списка. А затем каждое полученное значение записывает в результирующий список.
А что если в одну строчку?
Встроенная функция sum(), позволяет выполнить эту задачу максимально быстро для программиста.
Есть задача, объединить несколько списков разного размера в один. В голову сразу приходит цикл, который проходит по всем элементам в зависимости от длинны очередного списка. А затем каждое полученное значение записывает в результирующий список.
А что если в одну строчку?
Встроенная функция sum(), позволяет выполнить эту задачу максимально быстро для программиста.
Создание таблиц в терминале Python
PrettyTable - это библиотека Python, с помощью которой у вас появится возможность представить данные в виде таблицы ASCII.
Устанавливается данный модуль стандартным способом через терминал, заглавной командой pip.
Модуль не имеет особых сложностей в структуризации, наименования столбцов задается по команде fieldsname, а строки - методом addrow.
Модуль prettytable также способен влиять на различные параметры таблиц, производить сортировку данных и работать с html, при том не ограничиваться во взаимодействии с таблицами csv и sql.
PrettyTable - это библиотека Python, с помощью которой у вас появится возможность представить данные в виде таблицы ASCII.
Устанавливается данный модуль стандартным способом через терминал, заглавной командой pip.
Модуль не имеет особых сложностей в структуризации, наименования столбцов задается по команде fieldsname, а строки - методом addrow.
Модуль prettytable также способен влиять на различные параметры таблиц, производить сортировку данных и работать с html, при том не ограничиваться во взаимодействии с таблицами csv и sql.
Пакеты в Python
Если говорить прямо - это отдельные папки, содержащие в себе модули и второстепенные папки
. Их определенная роль играет не только в делении проекта на части, но и создание форм пространства наименований, дабы сама работа с модулями и пакетами была упрощенной и обозначалась точкой.
На примере выше, тип импорта from package import* подключает необходимые модули и объекты, исходя из модуля init.py, или следует переменной all из того же модуля.
К слову, модуль init.py ранее отвечал за команду создания пакетов, но с модернизацией Python, он утратил данную необходимость, оставаясь при этом важной командой, включающей необходимый модуль.
Если говорить прямо - это отдельные папки, содержащие в себе модули и второстепенные папки
. Их определенная роль играет не только в делении проекта на части, но и создание форм пространства наименований, дабы сама работа с модулями и пакетами была упрощенной и обозначалась точкой.
На примере выше, тип импорта from package import* подключает необходимые модули и объекты, исходя из модуля init.py, или следует переменной all из того же модуля.
К слову, модуль init.py ранее отвечал за команду создания пакетов, но с модернизацией Python, он утратил данную необходимость, оставаясь при этом важной командой, включающей необходимый модуль.
Получаем календарь
В модуле
Если строки строки не устраивают, то в модуле есть много методов для получения самых разных итераторов. А еще там можно даже получить календарь в виде HTML.
Кстати, модуль является встроенным, отдельно его устанавливать не нужно.
#calendar
В модуле
calendar есть функция month(), которая вернет календарь указанного месяца в виде строки, как показано в примере. А функция calendar() выдаст целый год.Если строки строки не устраивают, то в модуле есть много методов для получения самых разных итераторов. А еще там можно даже получить календарь в виде HTML.
Кстати, модуль является встроенным, отдельно его устанавливать не нужно.
#calendar
Как работают арифметические операции
Если кто-то еще не знает, то в Python всё является объектами: числа в том числе. И при любых операциях, включая арифметические, у объектов вызываются магические методы.
Например, при сложении у объекта первого слагаемого вызывается соответствующий магический метод и в качестве аргумента передается объект второго слагаемого.
Еще стоит отметить, что у
#magic
Если кто-то еще не знает, то в Python всё является объектами: числа в том числе. И при любых операциях, включая арифметические, у объектов вызываются магические методы.
Например, при сложении у объекта первого слагаемого вызывается соответствующий магический метод и в качестве аргумента передается объект второго слагаемого.
Еще стоит отметить, что у
float поддерживается деление с остатком, то есть метод __div__. А int имеет только деление с округлением, реализованное в методе __floordiv__.#magic
Что выведет данный код?
Anonymous Poll
13%
Разобъёт строку на отдельные символы
44%
Разобъёт строку на отдельные символы перевернёт
26%
None
5%
Error
13%
Узнать ответ
Модуль geopy
Программистам может быть сложно ориентироваться в географии. Однако модуль geopy всё упрощает:
$ pip install geopy
Он работает путём абстрагирования API разных сервисов геокодирования. Этот модуль даёт возможность узнать полный адрес места, его долготу и широту и даже высоту.
Также в нём есть полезный класс Distance. Он высчитывает расстояние между двумя местами в удобной единице измерения.
Программистам может быть сложно ориентироваться в географии. Однако модуль geopy всё упрощает:
$ pip install geopy
Он работает путём абстрагирования API разных сервисов геокодирования. Этот модуль даёт возможность узнать полный адрес места, его долготу и широту и даже высоту.
Также в нём есть полезный класс Distance. Он высчитывает расстояние между двумя местами в удобной единице измерения.
ООП: композиция
Композиция — это отношение, при котором объекты одного класса связаны с объектами другого. Такой способ организации взаимодействия между классами также называется ассоциацией.
Как правило, в этом случае объект одного из классов (в примере выше это
Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора.
В таком случае необходимо использовать слабые ссылки из модуля
#классы #ооп
Композиция — это отношение, при котором объекты одного класса связаны с объектами другого. Такой способ организации взаимодействия между классами также называется ассоциацией.
Как правило, в этом случае объект одного из классов (в примере выше это
Salary) является полем другого (Employee). Сложного здесь, как вы видите, ничего нет.Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора.
В таком случае необходимо использовать слабые ссылки из модуля
weakref, о котором поговорим позже.#классы #ооп
Взаимодействие с ОС
Для взаимодействия с операционной системой в Python предусмотрен встроенный модуль OS. Позволяет узнать информацию о системе, создавать файлы, папки, переименовывать. На борту базовый набор необходимых функций.
Полезно в любом проекте. Однако некоторые функции работают не со всеми операционными системами.
Для взаимодействия с операционной системой в Python предусмотрен встроенный модуль OS. Позволяет узнать информацию о системе, создавать файлы, папки, переименовывать. На борту базовый набор необходимых функций.
Полезно в любом проекте. Однако некоторые функции работают не со всеми операционными системами.
Подсказки типов | Ожидание типа | Type hinting (Python 3.5+) 2 часть
Динамические языки не заставляют Вас определять тип переменных перед тем, как их использовать.
Утиная типизация: «Если это выглядит как утка и крякает как утка, значит это утка».
Спор о том, какое типизирование python лучше — статическое или динамическое — не умолкают и по сей день и у каждого есть свое мнение на этот счет.
Это личное дело читателя — когда ему нужно вписывать типы, но мне кажется что вы как минимум должны знать о том, что Python 3 поддерживает подсказки типов.
Динамические языки не заставляют Вас определять тип переменных перед тем, как их использовать.
Утиная типизация: «Если это выглядит как утка и крякает как утка, значит это утка».
Спор о том, какое типизирование python лучше — статическое или динамическое — не умолкают и по сей день и у каждого есть свое мнение на этот счет.
Это личное дело читателя — когда ему нужно вписывать типы, но мне кажется что вы как минимум должны знать о том, что Python 3 поддерживает подсказки типов.