Разъяснивший Python
8.47K subscribers
2.24K photos
37 videos
30 files
2.07K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Функция iter

iter(object) возвращает итератор объекта. Но это если в ней только один аргумент, а может быть и два...

В таком случае функция принимает iter(function, end) и выполняет функцию, пока она не вернёт end.

#теория
Несколько фишек Python

1. Мы можем передать кортеж функции isinstance, тогда она будет проверять, относится ли x к одному из этих типов.

2. round может округлять в обратную сторону. То есть не только до дестых, но и до десяток.

3. В один except можно записывать несколько ошибок на обработку.

#теория
🔥 Массивы

И нет, я не ошибся. В python действительно есть массивы и находятся они в модуле array. Они меньше занимают памяти, чем списки, но у них есть свои ограничения.

Про массивы, как ими пользоваться и их отличия от списков рассказывается в ролике.

Перейти к просмотру | #видео
0x6e 0x75 0x6d 0x65 0x72 0x61 0x6c 0x20 0x73 0x79 0x73 0x74 0x65 0x6d

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

0x для шестнадцатеричной, 0o для восьмеричной и 0b для двоичной системы счисления.

#объяснение
Перейдём к основам-основам

В Python есть два типа типов: изменяемые (list, set, dict) и неизменяемые (bool, int, float, complex, tuple, str, frozenset).

Зачем такие сложности? Неизменяемые типы сохраняют данные, не позволяя другим объектам на них повлиять.

#теория
🔥 Типизированный Python

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

Смотреть | #видео
Готовы к взрыву мозга?

Когда вызывается id(Ok()), создаётся экземпляр класса, функция получает адрес в памяти и выкидывает объект (то есть удаляет его).

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

#объяснение
Топ репозитории на GitHub

python-guide — для тех, кто хочет расти дальше. Тут и про virtualenv, и про организацию проекта, и про библиотеки.

TheAlgorithms — алгоритмы и структуры данных. Тут их так много, что легче перечислить, чего не хватает. Тут, кстати, весь список.

python-patterns — шаблоны проектирования на Python. Всё выполнено на реальных примерах, а не вот эти вот ConcreteFactory и т.д.

#сайты
Loguru

Это прекрасный модуль для ведения логов. Он сам настроит вывод ошибок, сам запишет результат работы функции, так ещё и отправит его на почту (это отдельная библиотека).

А вообще все фишки можно найти в документации. В любом случае модуль лучше и интереснее встроенного logging, но его надо скачивать.

#модуль
Про десятичные числа

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

Это, например, '٠' (арабская ноль). Зачем их добавили? На эту тему есть интересная история, связанная с интернетом.

#объяснение
Почему так на***?

reversed(x) позволяет пройтись по объекту в обратном порядке. То есть в нашем случае — 3, 2, 1. Но это итератор, а значит пройтись по нему можно только 1 раз.

Если попробовать получить значения ещё раз, то генератор просто ничего не вернёт. Вызывается sorted([3, 2, 1]) == sorted([]) и, понятное дело, мы получаем False.

#объяснение
🔥 Боевой проект на Python

Теория это, конечно, хорошо, но без практики она бесполезна. Это плейлист, в по ходу которого вы создадите своё веб-приложение (Django) для автоматизации процессов.

Вам предстоит получше изучить Python с Django и разобраться в архитектуре проекта.

Смотреть | #видео
Про метод str.split(sep)

Все знают, что он разделяет строку по sep, но у него есть свои особенности. И первое, это если sep не указан, то есть None.

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

Если sep передан, то разделители не группируются, а значит на месте повторов образуется ''. Также, разделение пустой строки всегда вернёт [''].

#объяснение
🔥 Зачем нужно ООП?

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

Смотреть | #видео
📕 Книга "Искусственный интелект с примерами на Python."

Автор:
Пратик.Дж
Год издания: 2019
Язык: Русский

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

👇 Читать/скачать книгу 👇

#ru #python
Iskusstvenny_intellekt_s_primerami_na_Python_2019_Pratik_Dzhoshi.pdf
69.6 MB
Книга "Искусственный интелект с примерами на Python."
Коротко о нашем канале 👌
Что такое __all__ ?

Вот вы написали from module import * и к вам в код попало кучу классов, которые используются только внутри модуля, снаружи они бесполезны.

Избавиться от мусора можно, если записать в __all__ список имён всех объектов (классов, функций, переменных), которые надо импортировать. Документация.

Кстати, объекты, которые начинаются на нижнее подчёркивание тоже не импортируются.

#теория
🔥 Оператор моржа

Помните, я рассказывал про оператор моржа, который появился в Python 3.9? Так вот, если вы до сих пор не понимаете, зачем и когда его использовать, то это видео для вас.

В ролике рассказывается про сам оператор, а после идут примеры его использования на практике. Приятного просмотра!

Смотреть | #видео