Фокус с type
Все мы знаем, что type позволяет определять тип данных (строка это или, может, список). Но у него есть другая функция — создание типа.
Таким образом мы можем во время выполнения создать новый класс и пользоваться им.
#теория
Все мы знаем, что type позволяет определять тип данных (строка это или, может, список). Но у него есть другая функция — создание типа.
Таким образом мы можем во время выполнения создать новый класс и пользоваться им.
#теория
👍53🥱1👾1
🔥 Про Pattern Matching
Эта фича появилась в Python 3.10 и позволяет превратить кучу if'ов в простой и читаемый код. Что-то на подобии switch/case, только лучше.
Перейти к просмотру | #видео
Эта фича появилась в Python 3.10 и позволяет превратить кучу if'ов в простой и читаемый код. Что-то на подобии switch/case, только лучше.
Перейти к просмотру | #видео
YouTube
Python 3.10 — Лучший новый инструмент Pattern Matching и его возможности
В релизе Python 3.10 мы получили довольно много различных дополнений, и одно из них это Pattern Matching, который создан, чтобы сделать ваш код намного чище и быстрее.
⭐ Курс ООП и Приват канал: https://www.zproger-school.com/?utm_source=yt&utm_medium=n…
⭐ Курс ООП и Приват канал: https://www.zproger-school.com/?utm_source=yt&utm_medium=n…
👍7🔥2👎1
isdecimal()
vs isdigit()
vs isnumeric()
Эти три метода str используются для определения, является ли строка числом, но у них есть небольшие отличия:
str.isdecimal()
— проверяет, является ли строка только набором цифр (1-9). В то время как:·
str.isdigit()
вернёт True, даже если в строке есть надстрочные и подстрочные цифры (² или u00B2). ·
str.isnumeric()
вернёт True, даже если это дробь (½ или u00BD).#объяснение
👍46
Правила документации
После идёт подробное объяснение. Кто он,
что он делает и какие параметры принимает.
Документировать можно в несколько абзацев.
Писать доки можно для всего: функции, класса, модуля.
Но если вы мне не доверяете, можете почитать PEP257,
там разработчики рассказывают, как объяснять код.
#теория
class Post:
"""
На первой строке краткое описание объекта. После идёт пустая строка (это обязательно).После идёт подробное объяснение. Кто он,
что он делает и какие параметры принимает.
Документировать можно в несколько абзацев.
Писать доки можно для всего: функции, класса, модуля.
Но если вы мне не доверяете, можете почитать PEP257,
там разработчики рассказывают, как объяснять код.
"""
#теория
👍13❤1
Замыкание
Особенность языка, которая позволяет вложенной функции получить доступ к внешним данным. Часто используется функциональном программировании.
Но с этой штукой надо быть осторожнее, она довольно прожорливая. Если в этой ситуации можно обойтись без замыкания, то лучше её не использовать.
#теория
Особенность языка, которая позволяет вложенной функции получить доступ к внешним данным. Часто используется функциональном программировании.
Но с этой штукой надо быть осторожнее, она довольно прожорливая. Если в этой ситуации можно обойтись без замыкания, то лучше её не использовать.
#теория
👍12
Немного фактов про Python
Во первых, это не змея. Название пошло в честь «Монти Пайтона» (Monty Python) — ведущего из любимого шоу разработчика «Летающий цирк Монти Пайтона».
Думаете, Python — молодой, современный язык? Но нет, он старше даже Java. Версия Python 1.0 вышла в январе 1994 года. То есть языку сейчас 28 лет.
#факты
Во первых, это не змея. Название пошло в честь «Монти Пайтона» (Monty Python) — ведущего из любимого шоу разработчика «Летающий цирк Монти Пайтона».
Думаете, Python — молодой, современный язык? Но нет, он старше даже Java. Версия Python 1.0 вышла в январе 1994 года. То есть языку сейчас 28 лет.
#факты
👍12👏1
Функция iter
В таком случае функция принимает
#теория
iter(object)
возвращает итератор объекта. Но это если в ней только один аргумент, а может быть и два...В таком случае функция принимает
iter(function, end)
и выполняет функцию, пока она не вернёт end.#теория
👍10❤1
🔥
Перейти к просмотру | #видео
@dataclass
Я уже рассказывал про этот декоратор. Он позволяет быстро создавать структуры данных, что серьёзно экономит время. В этом ролике автор лучше разбирает этот декоратор и рассказывает про небольшие фишки.Перейти к просмотру | #видео
Telegram
Разъяснивший Python
Класс с данными
У всех классов есть данные, но есть те, которые используются специально для хранения информации о пользователе, позиции и т.д. Создавать их проще всего с @dataclass из dataclasses.
Декоратор самостоятельно создаёт __init__, __eq__, __str__…
У всех классов есть данные, но есть те, которые используются специально для хранения информации о пользователе, позиции и т.д. Создавать их проще всего с @dataclass из dataclasses.
Декоратор самостоятельно создаёт __init__, __eq__, __str__…
Несколько фишек Python
1. Мы можем передать кортеж функции isinstance, тогда она будет проверять, относится ли x к одному из этих типов.
2. round может округлять в обратную сторону. То есть не только до дестых, но и до десяток.
3. В один except можно записывать несколько ошибок на обработку.
#теория
1. Мы можем передать кортеж функции isinstance, тогда она будет проверять, относится ли x к одному из этих типов.
2. round может округлять в обратную сторону. То есть не только до дестых, но и до десяток.
3. В один except можно записывать несколько ошибок на обработку.
#теория
👍25
🔥 Массивы
И нет, я не ошибся. В python действительно есть массивы и находятся они в модуле array. Они меньше занимают памяти, чем списки, но у них есть свои ограничения.
Про массивы, как ими пользоваться и их отличия от списков рассказывается в ролике.
Перейти к просмотру | #видео
И нет, я не ошибся. В python действительно есть массивы и находятся они в модуле array. Они меньше занимают памяти, чем списки, но у них есть свои ограничения.
Про массивы, как ими пользоваться и их отличия от списков рассказывается в ролике.
Перейти к просмотру | #видео
YouTube
PYTHON массивы на ПРОСТЫХ примерах. Отличия от СПИСКОВ и принцип работы
Array массивы в Python с нуля в одном видео
⭐ Курс ООП и Приват канал: https://zproger-school.com/
⭐ Телеграм канал: https://t.me/+s9ScbtfzA3djNGI5
В данном видео мы рассмотрим Array массивы, принцип их работы и основные отличия от списков. Часто многие…
⭐ Курс ООП и Приват канал: https://zproger-school.com/
⭐ Телеграм канал: https://t.me/+s9ScbtfzA3djNGI5
В данном видео мы рассмотрим Array массивы, принцип их работы и основные отличия от списков. Часто многие…
❤3👍3
0x6e 0x75 0x6d 0x65 0x72 0x61 0x6c 0x20 0x73 0x79 0x73 0x74 0x65 0x6d
В Python мы можем использовать другие системы счисления, просто добавив приставку.
0x для шестнадцатеричной, 0o для восьмеричной и 0b для двоичной системы счисления.
#объяснение
В Python мы можем использовать другие системы счисления, просто добавив приставку.
0x для шестнадцатеричной, 0o для восьмеричной и 0b для двоичной системы счисления.
#объяснение
👍30🔥5❤3
Перейдём к основам-основам
В Python есть два типа типов: изменяемые (list, set, dict) и неизменяемые (bool, int, float, complex, tuple, str, frozenset).
Зачем такие сложности? Неизменяемые типы сохраняют данные, не позволяя другим объектам на них повлиять.
#теория
В Python есть два типа типов: изменяемые (list, set, dict) и неизменяемые (bool, int, float, complex, tuple, str, frozenset).
Зачем такие сложности? Неизменяемые типы сохраняют данные, не позволяя другим объектам на них повлиять.
#теория
👍30👎2
🔥 Типизированный Python
Я уже рассказывал поверхностно про аннотацию типов, про то, что она делает код в разы понятнее, но никак не влияет на работу приложения. В этом видео есть теория и практика применения.
Смотреть | #видео
Я уже рассказывал поверхностно про аннотацию типов, про то, что она делает код в разы понятнее, но никак не влияет на работу приложения. В этом видео есть теория и практика применения.
Смотреть | #видео
YouTube
Типизированный Python для профессиональной разработки — теория и практика [2022]
Книга в PDF https://t.me/t0digital/151
Веб-версия https://to.digital/typed-python/
Мой курс «Хардкорная веб-разработка» — https://course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: https://botanim.to.digital/
Telegram: https://t0digital.t.me…
Веб-версия https://to.digital/typed-python/
Мой курс «Хардкорная веб-разработка» — https://course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: https://botanim.to.digital/
Telegram: https://t0digital.t.me…
👍10❤1
Готовы к взрыву мозга?
Когда вызывается id(Ok()), создаётся экземпляр класса, функция получает адрес в памяти и выкидывает объект (то есть удаляет его).
Во второй раз происходит то же самое, но на месте, где только что был предыдущий объект появляется новый, точно такой же. И в итоге мы получаем один и тот же адрес.
#объяснение
Когда вызывается id(Ok()), создаётся экземпляр класса, функция получает адрес в памяти и выкидывает объект (то есть удаляет его).
Во второй раз происходит то же самое, но на месте, где только что был предыдущий объект появляется новый, точно такой же. И в итоге мы получаем один и тот же адрес.
#объяснение
🤯42👍31🤔9👎3
Топ репозитории на GitHub
python-guide — для тех, кто хочет расти дальше. Тут и про virtualenv, и про организацию проекта, и про библиотеки.
TheAlgorithms — алгоритмы и структуры данных. Тут их так много, что легче перечислить, чего не хватает. Тут, кстати, весь список.
python-patterns — шаблоны проектирования на Python. Всё выполнено на реальных примерах, а не вот эти вот ConcreteFactory и т.д.
#сайты
python-guide — для тех, кто хочет расти дальше. Тут и про virtualenv, и про организацию проекта, и про библиотеки.
TheAlgorithms — алгоритмы и структуры данных. Тут их так много, что легче перечислить, чего не хватает. Тут, кстати, весь список.
python-patterns — шаблоны проектирования на Python. Всё выполнено на реальных примерах, а не вот эти вот ConcreteFactory и т.д.
#сайты
👍5❤3👎1
Loguru
Это прекрасный модуль для ведения логов. Он сам настроит вывод ошибок, сам запишет результат работы функции, так ещё и отправит его на почту (это отдельная библиотека).
А вообще все фишки можно найти в документации. В любом случае модуль лучше и интереснее встроенного logging, но его надо скачивать.
#модуль
Это прекрасный модуль для ведения логов. Он сам настроит вывод ошибок, сам запишет результат работы функции, так ещё и отправит его на почту (это отдельная библиотека).
А вообще все фишки можно найти в документации. В любом случае модуль лучше и интереснее встроенного logging, но его надо скачивать.
#модуль
👍12
Про десятичные числа
В Python3 к цифрам относится всё, что можно считать цифрами, поэтому код с теста не выдал ошибки.
Это, например, '٠' (арабская ноль). Зачем их добавили? На эту тему есть интересная история, связанная с интернетом.
#объяснение
В Python3 к цифрам относится всё, что можно считать цифрами, поэтому код с теста не выдал ошибки.
Это, например, '٠' (арабская ноль). Зачем их добавили? На эту тему есть интересная история, связанная с интернетом.
#объяснение
👍26😁1😐1
Почему так на***?
Если попробовать получить значения ещё раз, то генератор просто ничего не вернёт. Вызывается
#объяснение
reversed(x)
позволяет пройтись по объекту в обратном порядке. То есть в нашем случае — 3, 2, 1. Но это итератор, а значит пройтись по нему можно только 1 раз.Если попробовать получить значения ещё раз, то генератор просто ничего не вернёт. Вызывается
sorted([3, 2, 1]) == sorted([])
и, понятное дело, мы получаем False.#объяснение
👍56🤨22🔥3👎2❤1
🔥 Боевой проект на Python
Теория это, конечно, хорошо, но без практики она бесполезна. Это плейлист, в по ходу которого вы создадите своё веб-приложение (Django) для автоматизации процессов.
Вам предстоит получше изучить Python с Django и разобраться в архитектуре проекта.
Смотреть | #видео
Теория это, конечно, хорошо, но без практики она бесполезна. Это плейлист, в по ходу которого вы создадите своё веб-приложение (Django) для автоматизации процессов.
Вам предстоит получше изучить Python с Django и разобраться в архитектуре проекта.
Смотреть | #видео
YouTube
БОЕВОЙ ПРОЕКТ НА ПИТОНЕ (PYTHON) - CRM сервисной службы
Share your videos with friends, family, and the world
👍7🔥1