Графики с Python (часть 4)
📈 Круговые диаграммы – это наглядный способ показать какую часть от общего количества составляют разные доли. Такие диаграммы идеально подходят для отчетов, презентаций и т.п.
🐍 В matplotlib для этого есть метод pie(vals, labels, explode, wedgeprops, rotatelabels), где vals — массив с размерами долей; labels — текстовые метки долей (не обязательно); explode — массив, который показывает то, насколько каждую долю нужно выносить из диаграммы; wedgeprops — словарь параметров, определяющий внешний вид; rotatelabels – выведение текстовых меток под углом.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Физические 2D симуляции в Python
🐍 Pymunk — это простая в использовании Python библиотека, которая нужна для создания разных 2D симуляций. Эта библиотека может вам пригодиться, если вы разрабатываете 2D игру, куда нужно добавить физику. За основу в Pymunk взята другая более мощная библиотека — Chipmunk.
🔤 Код выше создаст тело шарообразной формы и установит пол на разных координатах. После этого программа 100 раз выведет его координаты по истечению каждой 0.01 секунды, тем самым просимулировав падение объекта.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
👇 Внизу объяснение 👇
🐍 Если вывести содержимое my_list, то результат будет следующий: [{1}, {1}, {1}, {1}]. Кажется, что это список, содержащий четыре разных множества, однако, на самом деле, этот список содержит два разных множества и по одной ссылке на каждое из них.
🔤 Python не создаст новые объекты, а просто добавит ссылки на них, поэтому, изменяя второй элемент списка, четвертый изменится тоже. Тем самым, правильный ответ следующий: [{1}, {1, 3}, {1}, {1, 3}]
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Что выведет код выше?
Anonymous Quiz
42%
[{1}, {1, 3}, {1}, {1, 3}]
17%
[{1, 3}, {1}, {1, 3}, {1}]
17%
[{1}, {1, 3}, {1}, {1}]
23%
Error
Языку программирования BASIC исполнилось 60 лет
🖥 1 мая 1964 года, в 4 часа утра в Дартмутском колледже (США) свершилась тихая революция. Математики Джон Кемени и Томас Курц успешно запустили первую программу на их разработанном языке программирования BASIC (Beginner's All-Purpose Symbolic Instruction Code).
📞 Это стало первым шагом к демократизации компьютеров, ведь BASIC с простыми английскими словами быстро стал фаворитом среди студентов и преподавателей.
🖥 В 1975 году Пол Аллен и Билл Гейтс адаптировали язык для персональных компьютеров, таких как Altair 8800, тем самым расширив охват BASIC, поэтому сейчас мы можем всретиться с его потомками: Visual Basic, Visual Basic for Applications (VBA) и Microsoft Small Basic.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Специализированные типы данных (часть 1)
🐍 В Python есть все основные типы данных, однако иногда их бывает мало, поэтому, чтобы не прописывать в коде самостоятельно, существует встроенный модуль collections. Collections — специализированный контейнер типов данных, который предоставляет альтернативу dict, list, set и tuple. Сегодня разберем тип данных Counter().
🖥 Counter() — это вид словаря, который позволяет считать количество неизменяемых объектов. Однако у Counter() еще есть полезные методы.
📌 Elements() возвращает список элементов в лексикографическом порядке. Most_common(n) возвращает n наиболее часто встречающихся элементов, в порядке убывания встречаемости. Если n не указано, возвращаются все элементы. Также помимо всего Counter() поддерживает сложение, вычитание, пересечение и объединение.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Часовые пояса с Python
🐍 Pytz — это библиотека, которая переносит библиотеку часовых поясов (tz database) в Python и позволяет с ними работать. Библиотека позволяет конвертировать, управлять информацией о часовых поясах, тем самым поможет вывести ваши приложения Python на международный уровень.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Специализированные типы данных (часть 2)
🐍 Продолжаем разбирать типы данных встроенного модуля collections. Сегодня разберем создание очереди с помощью deque().
📌 Очередь — это важная структура данных, где доступ к элементам можно объяснить так: первый пришел – первый вышел. В классической очереди элементы добавлять можно только в конец, а доставать из начала. Однако deque(iterable, maxlen) создаёт очередь из итерируемого объекта с максимальной длиной maxlen, где элементы можно добавлять и удалять как и с начала, так и с конца. Для этого реализованы свои методы, которые разобраны в коде выше.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Графы с Python (часть 4)
🖥 В предыдущих постах мы просто работали с библиотекой NetworkX и разбирали основные виды графов. Однако стоит знать, как работать с графами, имея под рукой только голый Python, поэтому сегодня разберем алгоритм для посещения всех узлов связного графа — BFS (Breadth first Search).
🖥 BFS — это рекурсивный алгоритм поиска всех вершин графа, целью которого является пометить каждую вершину, как посещенную, избегая циклов.
Словами алгоритм можно описать так:
1) Добавить в конец очереди любую вершину графа.
2) Взять передний элемент очереди и добавить его в список посещенных вершин.
3) Создать список смежных узлов текущей вершины, добавить в конец очереди только те, которых нет с списке посещенных.
4) Повторять шаги 2 и 3, пока очередь не опустеет.
🐍 Также, как вы уже поняли, для реализации алгоритма нам понадобится реализовать очередь. Для этого воспользуемся встроенным модулем collections.
🔤 BFS является основой для более комплексных алгоритмов, поэтому его освоение является важной частью при дальнейшем изучении графов.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Словами алгоритм можно описать так:
1) Добавить в конец очереди любую вершину графа.
2) Взять передний элемент очереди и добавить его в список посещенных вершин.
3) Создать список смежных узлов текущей вершины, добавить в конец очереди только те, которых нет с списке посещенных.
4) Повторять шаги 2 и 3, пока очередь не опустеет.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Астрономия с Python
🖥 Astropy — это попытка сообщества создать библиотеку Python для астрономических расчетов. Библиотека может быть полезна профессиональным астрономам и астрофизикам для того, чтобы упростить расчеты и повысить эффективность работы.
📡 Код выше задаст координаты Крабовидной туманности в Международной небесной системе координат и выведет их в разных форматах.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
📡 Код выше задаст координаты Крабовидной туманности в Международной небесной системе координат и выведет их в разных форматах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Специализированные типы данных (часть 3)
🐍 Сегодня разберем два вида словарей встроенной библиотеки collections — defaultdict и OrderedDict.
🔤 Defaultdict — вид словаря, который возвращает значение по умолчанию для несуществующих ключей. Это удобно, когда нужно избежать ошибок KeyError при добавлении новых элементов.
🔤 OrderedDict — словарь, который, как можно понять по названию, сохраняет порядок ключей. Метод popitem(last=True) удаляет последнюю пару ключа и значения по умолчанию, а, если last=False, удаляет первую. Метод move_to_end(key, last=True) перемещает существующий ключ и его значение в конец по умолчанию, при last=False — в начало.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2 1