Python - Советы, библиотеки, гайды
19.7K subscribers
1.17K photos
25 videos
6 files
590 links
Всё для Python программиста :3
Готовый код, советы, лайфхаки, годные библиотеки, уроки и многое другое!

Автор - Абрахам (@priler)

РКН: https://kurl.ru/uXZzR
Download Telegram
🐍 А вы знали? Выпуск №26

Загрузка изображения используя matplotlib.

В данном примере(см. выше) показан базовый функционал загрузки. Изображение, кстати, должно находится в папке с вашим скриптом.

Доп. материал здесь :3
👍243
Как же я его понимаю :3
👍96😁29🎉2😱1
Python выделился ... 🌚
👍118😁47🔥64🤔3😢3
Vosk — это автономный набор инструментов для распознавания речи с открытым исходным кодом.

Vosk обеспечивает распознавание речи для более чем 20 языков и диалектов — английского, немецкого, русского, украинского, казахского. И это ещё не всё :3

Преимущества Vosk: работа без подключения к интернету, распознавание речи в режиме реального времени, обработка записи и многое другое :)

Модели для каждого языка занимают всего 50Мб, но есть и гораздо более точные большие модели для более точного распознавания.

Vosk, кстати, работает без доступа к сети даже на мобильных устройствах - Raspberry Pi, Android, iOS.

Ставится командой pip install vosk
Документация и примеры кода здесь :3
25👍14🔥6🤔1
Python roadmap

1. Основы - Если переходите с другого ЯПа и знаете технический английский, то Fluent Python, иначе Марк Лутц изучаем Python 2 тома.

2. Алгоритмы и структуры данных - Грокаем алгоритмы, ~Сэджвик алгоритмы и структуры данных, ~**Искусство программирования.
~Стоит изучить полезные модули из стандартной библиотеки питона

3. ООП - здесь @holy_python + курс на канале selfedu, ещё книга Г. Буча

4. Тайпхинты - курс на @holy_python и обязательно доп. материалы.

5. Чистый код, ~Code complete, можно ещё ~рефакторинг от Фаулера

6. SOLID - @holy_python + можно книжку от Роберта Мартина

7. Паттерны - Design Patterns + @holy_python и refactoring.guru

8. Чистая архитектура

9. SQL - изучаем SQL

10. ПроGIT

11. Выбираем направление
~Важные советы по питону: @advice17

1. Если бэкэнд:

1. Компьютерные сети от Таненбауна
2. **UNIX NETWORK PROGRAMMING примеры на сях на питон переделываем.
3. **Man 2 sockets и далее по референсам
~Возможно ещё Linux system programming
4. Дока asyncio
~MV паттерны - необязательно
~jinja2 - необязательно

5. pytest
6. FastAPI

2. Если Data Science:

~Нужны хорошие знания математики в частности: тервер, матан, линал и статистика как минимум

1. Много хороших курсов на курсере.

2. Если PyTorch: Изучаем PyTorch

2. Если keras + tensorflow: Глубокое, обучение на python.

3. По pandas, изучаем pandas от Груздева.

4. skikit-learn по доке + классические задачи и ML алгоритмы.

5. Matplotlib по доке.

6. Если NLP, то nltk и архитектуры нейронок RNN, LSTM, если CV, тоOpenCV и архитектуры нейронок CNN, YOLO, SSD, Faster RCNN.

~Соревнования на кагле, если решить первые 100 задач можно идти работать
~Возможно парсинг для сборки данных.


7. Любой статические типизированый ЯП.

~Для обоих направлений: Рекомендую сделать несколько пет проектов.
~Для обоих направлений рекомендуется читать статьи и работы других программистов


~ - не обязательно, но рекомендовано
** - очень сложная книга


Roadmap будет дополняться
👍424
По факту 🌚
👍151😁36🤔3😱3🤯1
Используйте глубокую нейронную сеть, чтобы позаимствовать навыки настоящих художников и превратить свои двух битные каракули в шедевры!

Neural-Doodle – это проект, который предоставляет нейронную сеть, которая дорисовывает красивую картинку на основе ваших каракуль :)

Этот проект представляет собой реализацию Semantic Style Transfer (Champandard, 2016) на основе алгоритма Neural Patches (Li, 2016).

Сценарий doodle.py создает новое изображение, используя одно, два, три или четыре изображения в качестве входных данных в зависимости от того, что вы пытаетесь сделать: исходный стиль и его аннотацию, а также целевое изображение содержимого (необязательно) с его аннотацией (он же ваш рисунок). . Алгоритм извлекает аннотированные патчи из изображения стиля и постепенно переносит их в целевое изображение в зависимости от того, насколько близко они совпадают.

Примечание

NeuralDoodle — это навык. Параметры скрипта были скорректированы для корректной работы по умолчанию и с приведенными примерами. Для новых изображений вам может потребоваться настроить значения и изменить входные данные. Это требует практики, но вы можете достичь почти фотореалистичных результатов, если будете повторять :3

Ознакомиться с проектом можно здесь :)
👍27🔥10😱1🤩1
Google не понял, что когда я ищу «как сделать X в python», я говорю о языке программирования
😁74😱4👍21🤯1
Получение информации о диске и оперативной памяти

Со встроенным модулем shutil, вы, возможно уже знакомы, но данный модуль, обычно, используют для обработки файлов, групп файлов и папок.

Но вы, вероятнее всего не знали про методы для получения информации о жёстком диске/оперативной памяти. Метод virtual_memory позволяет получить информацию о производительности системы, а метод disk_usage возвращает количество всей, занятой и свободной памяти.

Так как все три значения возвращаются в байтах, в примере(см. выше) они были переведены в более удобную единицу измерения.

Подробнее про модуль shutil вы можете почитать здесь :3
👍42
Жаль парня 😢
😢91😁303👍2🌚1
🐥 Задача по Python #8

Описание

Для заданной химической формулы, представленной строкой, подсчитайте количество атомов каждого элемента, содержащегося в молекуле, и верните объект(словарь dict).

Примеры

water = 'H2O'
parse_molecule(water) # Вернёт {'H': 2, 'O': 1}

magnesium_hydroxide = 'Mg(OH)2'
parse_molecule(magnesium_hydroxide) # Вернёт {'O': 2, 'H': 2, 'Mg': 1}

fremySalt = 'K4[ON(SO3)2]2'
parse_molecule(fremySalt) # Вернёт {'S': 4, 'O': 14, 'N': 2, 'K': 4}

Как вы могли заметить, в некоторых формулах есть скобки. Индекс вне скобок говорит вам, что вы должны умножить количество каждого атома внутри скобки на этот индекс. Например, в Fe(NO3)2 у вас есть один атом железа, два атома азота и шесть атомов кислорода.

Обратите внимание, что скобки могут быть круглыми, квадратными или фигурными, а также могут быть вложенными. Индекс после фигурных скобок является необязательным.

Свой вариант решения в комментарии 💭
Кодом делиться через
pastebin.org или repl.it.

#задачи
👍21🤯6🔥21
Рекомендовано к просмотру каждому питонисту 🐍☝️
👍68😁32🤔72🔥2😱2🤩2🤯1
Как душ должен работать и как душ работает на самом деле 🌚
👍101😁40😢125🤔2🔥1
pyscreenshot — библиотека, которая позволяет делать захват экрана.

Pyscreenshot кроссплатформенный. Это всего лишь чистая оболочка Python, тонкий слой поверх существующих серверных частей. Его стратегия должна работать на большинстве дистрибутивов Linux: запаковано много бэкендов, если есть хотя бы один, то он работает, если нет, то нужно установить один бэкенд.

Есть некоторые функции pyscreenshot, которые могут быть полезны в особых случаях: гибкие бэкенды, поддержка Wayland, иногда более высокая производительность, необязательная под обработка.

Сверху приведён самый простой пример захвата экрана. Т.к. мы не ничего передаём в метод grab() - у нас захватывается абсолютно весь экран.

Ставится командой pip install pyscreenshot
Документация и примеры кода здесь.
👍23🤔4
Подобные вещи - единственная причина, по которой мой код когда-либо работает 🌚
👍97😁34🤔43
pyAudioAnalysis — библиотека, которая предоставляет широкий спектр функций, связанных со звуком, с упором на извлечение признаков, классификацию, сегментацию и визуализацию.

pyAudioAnalysis предоставляет простые в использовании оболочки для выполнения задач анализа звука.

Что умеет pyAudioAnalysis?

• Классифицировать неизвестные звуки.

• Обнаружение аудиособытий и исключение периодов тишины из длинных записей.

• Выполнение контролируемой сегментации (совместная сегментация - классификация) и несколько других возможностей.

Кроме того, для всех функций предоставляется поддержка командной строки. Например, следующая команда извлекает спектрограмму аудиосигнала, хранящуюся в файле WAV: python audioAnalysis.py fileSpectrogram -i data/doremi.wav

Ставится командой pip install pyAudioAnalysis
Документация и примеры кода здесь :3
👍23🔥3
Метод send у генератора!

yield является таким же выражением, как и, например, some_func(). А значит, оно может возвращать значение.

Генератор может не только отправлять данные наружу с помощью оператора yield, но и получать их извне - для этого через метод send нужно эти данные в генератор передать, а генератор эти данные из yield должен принять.

В примере(см. выше) - мы посылаем в генератор значения, он возвращает накопленную сумму.

Подобное можно сделать и с помощью ООП, но это по сути просто другой способ реализации.
👍19🤯6😢3
Choose a country, salary range, work model and much more in the telegram-channel
🤔31😢51👍1🔥1
Да, вы верно поняли, питонистам платят питонами 🐍
👍62😁14🤔4😢321
🐍 Совет по Python №10.

Вместо того, чтобы изобретать велосипед - воспользуйтесь кодом выше :3
👍64🤔75