Python | Программирование
9.87K subscribers
1.82K photos
2 videos
139 files
1.53K links
Python без границ для всех

Владелец, реклама @Ak_Mihail

Преобрести рекламное размещение: https://telega.in/c/Python_libr
加入频道
📌 Модуль heapq

Нас интересуют только две функции: nlargest() и nsmallest(). Они позволяют получить n самых больших/маленьких значений в iterable.

В большинстве случаев функции быстрее чем sorted(iterable)[:n]. Их использование можно заметить в Counter.most_common().

📕 Документация

#урок
📌 Что такое NaN

Not a Number
(не число) — состояние float, при котором устройство не смогло посчитать какое-то выражение.

Компьютер не в силах (как и мы) поделить 0 на 0 или узнать asin(2), поэтому возвращает NaN.

Его особенностью среди других чисел является то, что оно не равно самому себе.

#урок
📌 Утиная типизация

«Если оно выглядит как утка и крякает как утка, то, наверное, это утка» — примерно так определяют объекты динамические языки программирования (Python, JS).

То есть мы смотрим не на объект, а на его атрибуты. И если там, к примеру, есть __iter__(), то объект считается итерируемым.

📕 Документация

#урок
📌 Метод call

Позволяет вызывать класс точно так же, как и функцию. То есть вы можете написать так: AddClass()(1)(2).

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

#урок
📌 Python Roadmap

Информации очень много и «потеряться» в ней довольно легко. Эта карта поможет вам систематизировать знания и изучать всё в порядке возрастания сложности.

#roadmap
👨‍💻 Арифметические операции.

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

• Например, для сложения двух чисел в математике мы пишем: 3 + 4
В программировании — то же самое. Арифметика в программировании практически не отличается от школьной арифметики.

• Строчка кода 3 + 4 заставит интерпретатор сложить числа и узнать результат. Эта программа будет работать, но в ней нет смысла. По сути, мы не даем команду интерпретатору, мы просто говорим ему: «смотри, сумма трех и четырех». В реальной работе недостаточно сообщать интерпретатору о математическом выражении.

• Например, если создавать интернет-магазин, недостаточно просить интерпретатор посчитать стоимость товаров в корзине. Нужно просить посчитать стоимость и показать цену покупателю.

• Нам нужно попросить интерпретатор сложить 3 + 4 и дать команду сделать что-то с результатом. Например, вывести его на экран:

# Сначала вычисляется сумма,
# затем она передается в функцию печати
print(3 + 4)

• После запуска на экране появится результат: 7

• Кроме сложения доступны следующие операции:

- — вычитание
* — умножение
** — возведение в степень
/ — деление
// — целочисленное деление
% — остаток от деления

• Теперь выведем на экран результат деления, а потом результат возведения в степень:

print(8 / 2)   # => 4.0 (При делении двух чисел получается тип данных float)
print(3 ** 2) # => 9

• Первая инструкция выведет на экран 4 (потому что 8 / 2 равно 4), а вторая инструкция выведет на экран 9 (потому что 3 во второй степени равно 9).

#урок
🔥 PyTorch.

github.com/pytorch/pytorch — тензоры и динамические нейронные сети в Python с сильным ускорением графического процессора.



• PyTorch is a Python package that provides two high-level features:

• Tensor computation (like NumPy) with strong GPU acceleration;
• Deep neural networks built on a tape-based autograd system;

• You can reuse your favorite Python packages such as NumPy, SciPy, and Cython to extend PyTorch when needed.

#GitHub
📌 Тесты в документации

Другие программисты понимают, что делает ваш код, а вы его тестируете. Не прелесть ли?

Реализуется с помощью модуля doctest. Он ищет текст, который выглядит как интерактивный сеанс Python (>>>, ... и подобные символы).

Можно запускать тесты с doctest.testmod() или введя в терминале: python -m doctest -v example.py.

📕 Документация

#урок
📓 Автоматизация предприятия с помощью Python

• В данной книге приводятся реальные примеры того, как читатели могут внедрять автоматизацию бизнес-процессов на своих предприятиях, а также решать обычные офисные задачи с помощью языка Python и его библиотек реализации элементов ИИ.

• Эта книга научит вас создавать, читать, изменять и извлекать данные из документов Excel, Word и PDF с помощью программирования на языке Python. Также Вы узнаете, как можно в автоматическом режиме извлекать данные с веб-сайтов, PDF-документов, работать с электронной почтой Gmail и Outlook, а также мессенжером WhatsApp. Отдельный раздел книги будет интересен тем, кто желает автоматизировать с помощью языка Python извлечение текста из изображений и отсканированных документов.

#RU
📌 Знаете, как работает словарь?

Лучше не знать. Начнём с того, что он принимает только хешируемые объекты, то есть те, у которых есть метод __hash__. Это str, tuple, frozenset и другие неизменяемые объекты.

После их запихивают в хеш-таблицу (есть на эту тему классная статья). Если просто, то это «гардеробная». Вы даёте номерок и вам выдают вещь.

#урок
Интерфейс командной строки

Самостоятельный парсинг аргументов даже с argparse вызывает трудности. Чтобы их избежать, стоит установить typer.

Установка: pip install typer

Это — интуинтивно понятный модуль для создания FAST API интерфейсов командой строки. Проще говоря, вы сможете создавать команды по типу git branch -b main.

Библиотека сама создаст usage и --help сообщения на основе документации используемых функций или переданных аргументов.

📌 Документация

#lesson
📓 Python для детей и родителей. 2-е издание.

• Второе издание любимого многими родителями и детьми самоучителя. Программирование - одна из самых востребованных профессий в наше время, и она останется таковой в ближайшем будущем. Научите своих детей программировать уже сейчас с помощью этой книги!

• В книге представлен язык Python, один из самых популярных и простых. Вы найдете здесь много упражнений - полезных, интересных и забавных, поэтому ваш ребенок не заскучает. Материал написан доступно и просто, поэтому ему не составит труда освоить азы программирования.

#RU
try/except

Эта конструкция используется для «ловли» ошибок и их обработки. Например, если пользователь неправильно ввёл число, попросить его сделать это заново.

try — здесь хранится код, который может выдать ошибку.

except Exception — если появилась ошибка, будет выполняться код из этого блока.

else — ошибок не было? Отлично, значит после try выполняем этот блок.

finally — выполняется всегда. Выдало ошибку, не выдало ошибку, функция использовала return — не имеет значение.

#объяснение
👨🏻‍💻 Алгоритмы и структуры данных в Python.

• Структуры данных
– это, по сути, и есть структуры которые могут хранить некоторые данные вместе. Другими словами, они используются для хранения связанных данных.

• В Python существуют четыре встроенных структуры данных: список, кортеж, словарь и множество. Посмотрим, как ими пользоваться, и как они могут облегчить нам жизнь:

Сортировка пузырьком в python.
Слияние списков. Метод двух указателей Python.
Сортировка слиянием в python. Merge sort in Python. Recursive sorting algorithms.
Быстрая сортировка в python. Quick sort in Python. Recursive sorting algorithms.
Структура данных Stack( LIFO). Задача "Правильная скобочная последовательность".
27 Метод подсчета. Сортировка подсчетом Python.

#Видео #RU
🎙 Алгоритмы и структуры данных для технических интервью на Python.

• Базовые алгоритмы сортировки и поиска сейчас спрашивают у специалистов любого уровня. Так работодатель проверяет общие знания теории алгоритмов, понимание основных принципов эффективного решения данных задач и оценивает способность разработчика видеть возможности для оптимизации кода.

• Также многое зависит от области программирования. При создании наукоёмких продуктов, например, поисковых систем или игровых движков, алгоритмы необходимы. Однако большая часть приложений, где крайне важны эффективность и скорость, пишется на С или C++. Python позволяет быстро вести разработку программ, но по скорости исполнения уступает многим другим языкам.

• Для веб-разработки знание классической теории алгоритмов не так приоритетно. Поэтому во время собеседования на Junior-Python-разработчика вопросы по алгоритмам — это, скорее, дополнительный фильтр. Он показывает, что соискатель заинтересован в теме и расширении кругозора.

• Сегодня делимся с Вами отличным мини-курсом, благодаря которому ты сможешь подготовиться к техническому интервью на Python:

Введение в Python;
Циклы и словари в Python;
Функции и рекурсия в Python;
class'ы в Python;
Спец-урок. Разбор задач 1-4 недель;
Большое O;
Функции в Python;
Стек, дек и очередь;
Бинарный поиск;
Решение домашних задач;
Два указателя;
Сортировки;
Алгоритмы и структуры данных для технических интервью на Python.

#Видео #RU
VSCode в браузере

Слабый пк? Лень скачивать IDE? Можете запустить его в браузере.

Он поддерживает почти все функции десктопного редактора, но ещё позволяет подключаться к git репозиторию и править там (если есть доступ).

Единственный недостаток — расширения. Они доступны, но с серьёзными ограничениями. Python работает, уже хорошо.

Попробовать

#урок
🐼 Изучаем pandas.

pandas это высокоуровневая Python библиотека для анализа данных. Почему я её называю высокоуровневой, потому что построена она поверх более низкоуровневой библиотеки NumPy (написана на Си), что является большим плюсом в производительности. В экосистеме Python, pandas является наиболее продвинутой и быстроразвивающейся библиотекой для обработки и анализа данных.

• Данная книга познакомит вас с обширным набором инструментов, предлагаемых библиотекой pandas, - начиная с обзора загрузки данных с удаленных источников, выполнения численного и статистического анализа, индексации, агрегации и заканчивая визуализацией данных и анализом финансовой информации.

#RU #pandas
Принципы хорошего кода

KISS — старайтесь максимально упрощать код. Так, чтобы спустя пару месяцев, вы и ваши коллеги смогли всё понять.

DRY — не повторяйтесь! Перестаньте копировать один и тот же код несколько раз! Потом его будет сложно менять. А ещё, по ночам, будет мучать вопрос: «Всё ли я поменял?»

YAGNI — не делайте того, о чём вас не просят. В лучшем случае — потеряете деньги и время, в худшем — навредите проекту.

#урок