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

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

РКН: https://kurl.ru/uXZzR
Download Telegram
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
pretty_errors — модуль для повышения читаемости ошибок.

pretty_errors делает стандартный вывод исключений и их traceback более удобным для чтения :3

Это работает очень просто, чтобы модуль заработал, достаточно импортировать его в свой код.

Также модуль можно модифицировать, указав параметры в конфиге, что может быть полезно если вы всё равно не понимаете ошибки.

Более того, разные части вывода будут помечаться разным цветом вместо монотонного серого цвета.

Ставится командой pip install pretty-errors
Документация и примеры кода здесь.
👍52🔥8
Комментирование кода be like:
138😁41👍14😢3🔥1
pyperclip — библиотека для работы с буфером обмена.

Здесь мы можем использовать всего два метода paste() и copy().

Метод paste() извлекает информацию(данные) из буфера обмена.

В результате нам в консоль вернутся текущие данные хранящиеся в буфере обмена.

А метод copy() наоборот помещает данные в буфер обмена.

После выполнения данного кода если вы к примеру нажмете ctrl + v у вас из буфера будет извлечена строка 'Текст, который будет скопирован в буфер обмена.'

Вот в принципе все что вам необходимо знать для работы с данным модулем. Теперь вы в любой момент можете получать доступ к содержимому буфера обмена и работать с ним.

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

Кроссплатформенность

В Windows дополнительные модули не нужны.

На Mac этот модуль использует команды pbcopy и pbpaste, которые должны поставляться с пакетом os.

В Linux этот модуль использует команды xclip или xsel, которые должны поставляться с пакетом os. В противном случае запустите «sudo apt-get install xclip» или «sudo apt-get install xsel» (Примечание: xsel не всегда работает.)

В противном случае в Linux вам потребуются установленные модули gtk или PyQt4.

Ставится командой pip install pyperclip
Документация и примеры кода здесь :3
👍38🔥71
Ачё в смысле 🤔
🤯74👍8🤔63🔥3😁3😢1