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

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

Преобрести рекламное размещение: https://telega.in/c/Python_libr
加入频道
Что выведет этот код?
Anonymous Quiz
31%
abc
21%
a b c
43%
Ошибку
5%
Узнать ответ
👨🏻‍💻 Курс: Основы асинхронности в Python.

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

Для чего нужна асинхронность? Программы, которые выполняются последовательно, просты для понимания. В них все процессы выполняются шаг за шагом. Но для решения некоторых практических задач в современном программировании такой подход не всегда себя оправдывает, а потому приходится применять другие методы разработки. Асинхронное программирование усложняет программы, но с его помощью можно их оптимизировать и повысить эффективность. Оно позволяет всем задачам в вашем коде выполняться одновременно (этого синхронные процессы обеспечить не могут).

Асинхронное программирование может быть полезным, если:
Программе требуется слишком много времени на выполнение всех задач;
Имеются операции ввода-вывода, требующие одновременного выполнения;
Есть задержка операций ввода и вывода.

Введение;
Асинхронность с простыми функциями. Событийный цикл;
Асинхронность на колбэках;
Генераторы и событийный цикл Round Robin;
Асинхронность на генераторах;
Корутины и yield from;
Asyncio, async/await;
Опять про генераторы.

#Курс
📌 Добавляем новые функции

Если встроенных возможностей вам не хватает, а писать свои функции не очень хочется, то посмотрите в сторону funcy.

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

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

И не только с типами. В модуле есть декораторы для обработки ошибок и для работы с логами.

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

#библиотека
👨🏻‍💻 Курс: Python для начинающих.

💬 Очень полезный курс для изучения Python с нуля. Рекомендую к просмотру и изучению:

Установка и запуск интерпретатора языка;
Переменные, оператор присваивания, типы данных;
Функции input и print ввода/вывода;
Арифметические операторы: сложение, вычитание, умножение, деление, степень;
Условный оператор if, составные условия с and, or, not;
Операторы циклов while и for, операторы break и continue;
Строки - сравнения, срезы строк, базовые функции str, len, ord, in;
Методы строк - upper, split, join, find, strip, isalpha, isdigit и другие;
Списки list и функции len, min, max, sum, sorted;
Списки - срезы и методы: append, insert, pop, sort, index, count, reverse, clear;
Списки - инструмент list comprehensions, сортировка методом выбора;
Словарь, методы словарей: len, clear, get, setdefault, pop;
Кортежи (tuple) и операции с ними: len, del, count, index;
Функции (def) - объявление и вызов;
Делаем "Сапер", проектирование программ "сверху-вниз";
Рекурсивные и лямбда-функции, функции с произвольным числом аргументов;
Алгоритм Евклида, принцип тестирования программ;
Области видимости переменных - global, nonlocal;
Множества (set) и операции над ними: вычитание, пересечение, объединение, сравнение;
Итераторы, выражения-генераторы, функции-генераторы, оператор yield;
Функции map, filter, zip;
Сортировка sort() и sorted(), сортировка по ключам;
Обработка исключений: try, except, finally, else;
Файлы - чтение и запись: open, read, write, seek, readline, dump, load, pickle;
Форматирование строк: метод format и F-строки;
Создание и импорт модулей - import, from, as, dir, reload;
Пакеты (package) - создание, импорт, установка (менеджер pip);
Декораторы функций и замыкания;
Установка и порядок работы в PyCharm;
Функция enumerate, примеры использования.

#Курс
📓 Начинаем программировать на Python, 5-е издание.

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

#RU
📌 Упрощаем поиск багов

Время от времени стоит проверять, правильно ли работает функция и те ли данные она получила. В этом случае поможет assert.

Оператор принимает булевскую переменную, которая, если будет равняться False, выбросит исключение AssertionError.

Также, она выдаёт комментарий, который объясняет, что не так с этим кодом и как исправить ошибку. Но второй аргумент не обязателен.

#урок
📓 Обработка естественного языка в действии.

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

#RU
Ещё не надоело работать с os.path?

С Python 3.4 есть отличная альтернатива — pathlib. Он упрощает работу с путями и добавляет новые функции.

Помимо того, что вы теперь можете удобно составлять пути, так ещё и работать с ними (rename(), rmdir(), etc).

К тому же пути нормально работают на Windows и Linux. А если ваш код всё ещё использует os, то pathlib совместим с этим модулем.

#урок
👨🏻‍💻 Курс: Объектно-ориентированное программирование Python.

Объектно-ориентированное программирование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов.

Класс — тип, описывающий устройство объектов. Объект — это экземпляр класса. Класс можно сравнить с чертежом, по которому создаются объекты.

• Python соответствует принципам объектно-ориентированного программирования. В python всё является объектами - и строки, и списки, и словари, и всё остальное.

• Но возможности ООП в python этим не ограничены. Программист может написать свой тип данных (класс), определить в нём свои методы.

• Это не является обязательным - мы можем пользоваться только встроенными объектами. Однако ООП полезно при долгосрочной разработке программы несколькими людьми, так как упрощает понимание кода.

Концепция ООП простыми словами;
1. Классы и объекты. Атрибуты классов и объектов;
2. Методы классов. Параметр self;
3. Инициализатор __init__ и финализатор __del__;
4. Магический метод __new__. Пример паттерна Singleton;
5. Методы класса (classmethod) и статические методы (staticmethod);
6. Режимы доступа public, private, protected. Сеттеры и геттеры;
7. Магические методы __setattr__, __getattribute__, __getattr__ и __delattr__;
8. Паттерн "Моносостояние";
9. Свойства property. Декоратор property;
10. Пример использования объектов property;
11. Дескрипторы (data descriptor и non-data descriptor);
12. Магический метод __call__. Функторы и классы-декораторы;
13. Магические методы __str__, __repr__, __len__, __abs__;
14 Магические методы __add__, __sub__, __mul__, __truediv__;
15. Методы сравнений __eq__, __ne__, __lt__, __gt__ и другие;
16. Магические методы __eq__ и __hash__;
17. Магический метод __bool__ определения правдивости объектов;
18. Магические методы __getitem__, __setitem__ и __delitem__;
19. Магические методы __iter__ и __next__ ;
20. Наследование в объектно-ориентированном программировании;
21. Функция issubclass(). Наследование от встроенных типов и от object;
22. Наследование. Функция super() и делегирование;
23. Наследование. Атрибуты private и protected;
24. Полиморфизм и абстрактные методы;
25. Множественное наследование;
26. Коллекция __slots__;
27. Как работает __slots__ с property и при наследовании;
28. Введение в обработку исключений. Блоки try / except;
29. Обработка исключений. Блоки finally и else;
30. Распространение исключений (propagation exceptions);
31. Инструкция raise и пользовательские исключения;
32. Менеджеры контекстов. Оператор with;
33. Вложенные классы;
34. Метаклассы. Объект type;
35. Пользовательские метаклассы. Параметр metaclass;
36. Метаклассы в API ORM Django.

#Курс