Итерируемый счетчик
Еще один классный итератор из
В аргументах можно задать значения
Обычно
#itertools
Еще один классный итератор из
itertools
— это count
, который генерирует бесконечную последовательность чисел.В аргументах можно задать значения
start
и step
: первый отвечает за начальное значение, а второе за шаг, как и в range
.Обычно
count
редко используют с циклом for
. Чаще можно встретить случаи с функциями типа zip
или map
.#itertools
Использование enumerate() для работы с индексами в цикле
Когда вы работаете с итерацией по спискам или другим последовательностям и вам нужно получить не только элемент, но и его индекс, enumerate() — идеальный инструмент.
Использование enumerate() помогает избавиться от лишнего кода и ошибок, связанных с управлением индексами, делая итерацию по последовательностям удобнее и эффективнее.
Когда вы работаете с итерацией по спискам или другим последовательностям и вам нужно получить не только элемент, но и его индекс, enumerate() — идеальный инструмент.
Использование enumerate() помогает избавиться от лишнего кода и ошибок, связанных с управлением индексами, делая итерацию по последовательностям удобнее и эффективнее.
⚙️ Перегрузка операторов
В Python есть поддержка перегрузки операторов — одной из тех штук, о которых говорят все настоящие computer-scientis’ы.
✔️ На самом деле идея проста. Когда-нибудь задумывались, почему Python позволяет использовать оператор + как для сложения чисел, так и для конкатенации строк? За этим как раз и стоит перегрузка операторов.
🗣️ Вы можете определять объекты, которые используют стандартные символы операторов любым образом. Это позволяет применять их в контексте объектов, с которыми вы работаете.
В Python есть поддержка перегрузки операторов — одной из тех штук, о которых говорят все настоящие computer-scientis’ы.
✔️ На самом деле идея проста. Когда-нибудь задумывались, почему Python позволяет использовать оператор + как для сложения чисел, так и для конкатенации строк? За этим как раз и стоит перегрузка операторов.
🗣️ Вы можете определять объекты, которые используют стандартные символы операторов любым образом. Это позволяет применять их в контексте объектов, с которыми вы работаете.
This media is not supported in your browser
VIEW IN TELEGRAM
👨💻 Правильные инструменты разработки могут сэкономить вам драгоценное время, энергию и, возможно, ваши выходные.
Вот список под разные задачи:
1. Среды разработки
Помогут значительно облегчить вам жизнь.
2. Диаграммы
Демонстрируйте свои идеи наглядно с помощью инструментов для создания диаграмм.
3. Инструменты ИИ
ИИ может повысить вашу производительность.
4. Хостинг и развертывание
Изучите решения для хостинга для размещения ваших приложений.
5. Качество кода
Качественный код отличает вас. Используйте различные инструменты, чтобы гарантировать первоклассное качество кода.
6. Безопасность
Безопасность имеет решающее значение. Используйте, чтобы защитить свою работу.
7. Ведение заметок
Ваши заметки отражают ваши знания. Оптимизируйте ведение с помощью этих инструментов.
8. Дизайн
Поднимите визуальную игру на новый уровень с помощью инструментов дизайна.
📂 Сохраняем и используем
#soft #cheatsheet
Вот список под разные задачи:
1. Среды разработки
Помогут значительно облегчить вам жизнь.
2. Диаграммы
Демонстрируйте свои идеи наглядно с помощью инструментов для создания диаграмм.
3. Инструменты ИИ
ИИ может повысить вашу производительность.
4. Хостинг и развертывание
Изучите решения для хостинга для размещения ваших приложений.
5. Качество кода
Качественный код отличает вас. Используйте различные инструменты, чтобы гарантировать первоклассное качество кода.
6. Безопасность
Безопасность имеет решающее значение. Используйте, чтобы защитить свою работу.
7. Ведение заметок
Ваши заметки отражают ваши знания. Оптимизируйте ведение с помощью этих инструментов.
8. Дизайн
Поднимите визуальную игру на новый уровень с помощью инструментов дизайна.
📂 Сохраняем и используем
#soft #cheatsheet
#реклама
Кажется, ты тоже это чувствуешь:
🔻 Пока ты работаешь — выходит пять новых тулзов и один фреймворк.
🔻 Все вокруг пишут идеальный код, растут. А ты просто пытаешься не потеряться.
🔻 Каждый второй уже запилил свой стартап и зарабатывает на нём — а ты всё ещё не знаешь, с чего начать.
Мне это знакомо. Поэтому я веду канал, где:
✅ Читаю всё подряд, чтобы ты читал только лучшее (иногда с мемами).
✅ Пишу про факапы, страхи и синдром «я не тяну» — потому что сам с этим живу.
✅ Рассказываю об идеях, проектах, карьерных поворотах — вдруг станет не так страшно что-то начать.
✅ Иногда просто делюсь мыслями — чтобы стало чуть легче и понятнее, куда вообще всё катится.
Если тебе это знакомо — залетай. Канал живой, честный, по делу (и немного про то, как не сойти с ума)
👉 @ai_tism
Кажется, ты тоже это чувствуешь:
🔻 Пока ты работаешь — выходит пять новых тулзов и один фреймворк.
🔻 Все вокруг пишут идеальный код, растут. А ты просто пытаешься не потеряться.
🔻 Каждый второй уже запилил свой стартап и зарабатывает на нём — а ты всё ещё не знаешь, с чего начать.
Мне это знакомо. Поэтому я веду канал, где:
✅ Читаю всё подряд, чтобы ты читал только лучшее (иногда с мемами).
✅ Пишу про факапы, страхи и синдром «я не тяну» — потому что сам с этим живу.
✅ Рассказываю об идеях, проектах, карьерных поворотах — вдруг станет не так страшно что-то начать.
✅ Иногда просто делюсь мыслями — чтобы стало чуть легче и понятнее, куда вообще всё катится.
Если тебе это знакомо — залетай. Канал живой, честный, по делу (и немного про то, как не сойти с ума)
👉 @ai_tism
Media is too big
VIEW IN TELEGRAM
Полезные модули Python
В этом ролике автор познакомит вас с полезными модулями Python. Вы научитесь работать со временем (модуль time), научитесь сохранять сложные объекты в файл и потом их оттуда считывать (модуль pickle), научитесь копировать объекты (модуль copy), научитесь работать со случайными числами (модуль random), научитесь определять системное ли слово (модуль keyword), а также узнаете как работать с системными командами (модуль sys).
Смотреть это видео на youtube: youtu.be/DEti1-BQpPU
В этом ролике автор познакомит вас с полезными модулями Python. Вы научитесь работать со временем (модуль time), научитесь сохранять сложные объекты в файл и потом их оттуда считывать (модуль pickle), научитесь копировать объекты (модуль copy), научитесь работать со случайными числами (модуль random), научитесь определять системное ли слово (модуль keyword), а также узнаете как работать с системными командами (модуль sys).
Смотреть это видео на youtube: youtu.be/DEti1-BQpPU
Итерируемый счетчик
Еще один классный итератор из
В аргументах можно задать значения
Обычно
#itertools
Еще один классный итератор из
itertools
— это count
, который генерирует бесконечную последовательность чисел.В аргументах можно задать значения
start
и step
: первый отвечает за начальное значение, а второе за шаг, как и в range
.Обычно
count
редко используют с циклом for
. Чаще можно встретить случаи с функциями типа zip
или map
.#itertools
Использование однострочных условий (тернарных операторов)
Иногда нужно сделать выбор между двумя значениями на основе условия. Вместо написания полного блока if-else, можно использовать тернарный оператор, который позволяет записать условие и выбор значений в одну строку.
Тернарный оператор помогает упростить код, уменьшая количество строк и делая его более читаемым, особенно в ситуациях, где нужно быстро принять решение на основе простого условия.
Иногда нужно сделать выбор между двумя значениями на основе условия. Вместо написания полного блока if-else, можно использовать тернарный оператор, который позволяет записать условие и выбор значений в одну строку.
Тернарный оператор помогает упростить код, уменьшая количество строк и делая его более читаемым, особенно в ситуациях, где нужно быстро принять решение на основе простого условия.
Использование множества (set) для удаления дубликатов из списка
Когда вы работаете со списками и хотите быстро удалить из них дубликаты, использование множества (set) — это самый простой и быстрый способ.
Этот способ особенно удобен, когда важно быстро избавиться от дубликатов, а порядок элементов не имеет значения. Он помогает сделать код компактным и эффективным.
Когда вы работаете со списками и хотите быстро удалить из них дубликаты, использование множества (set) — это самый простой и быстрый способ.
Этот способ особенно удобен, когда важно быстро избавиться от дубликатов, а порядок элементов не имеет значения. Он помогает сделать код компактным и эффективным.
🔥 Полезные библиотеки Python
email2phonenumber — инструмент OSINT, который позволяет вам получить номер телефона цели, просто имея его адрес электронной почты.
Установка:
Использование:
⚙️ GitHub/Инструкция
🎞 Demo видео
#python #github #soft #osint
email2phonenumber — инструмент OSINT, который позволяет вам получить номер телефона цели, просто имея его адрес электронной почты.
Установка:
$ pip3 install beautifulsoup4 requests
Использование:
$ python3 email2phonenumber.py scrape -e [email protected]
⚙️ GitHub/Инструкция
🎞 Demo видео
#python #github #soft #osint
This media is not supported in your browser
VIEW IN TELEGRAM
👨💻 Полезные нейросети для фриланса
🔊 Создание логотипа
🔊 Перевод текста в аудио
🔊 Улучшение качества видео
🔊 Оживление изображений
🔊 Написание и проверка текста и д.р.
📂 Сохраняем
#cheatsheet #nn #soft
🔊 Создание логотипа
🔊 Перевод текста в аудио
🔊 Улучшение качества видео
🔊 Оживление изображений
🔊 Написание и проверка текста и д.р.
📂 Сохраняем
#cheatsheet #nn #soft
⚙️ Использование функции sorted()
В Python очень легко сортировать некие последовательности данных с использованием встроенной функции
🗣️ Эта функция сортирует любые последовательности (списки, кортежи) и всегда возвращает список с отсортированными элементами. Рассмотрим пример сортировки списка чисел в порядке возрастания:
➡️ А вот — пример сортировки списка строк в порядке убывания:
В Python очень легко сортировать некие последовательности данных с использованием встроенной функции
sorted()
, которая берёт на себя решение всех сопутствующих задач.🗣️ Эта функция сортирует любые последовательности (списки, кортежи) и всегда возвращает список с отсортированными элементами. Рассмотрим пример сортировки списка чисел в порядке возрастания:
sorted([3,5,2,1,4]) # [1, 2, 3, 4, 5]
➡️ А вот — пример сортировки списка строк в порядке убывания:
sorted(['france', 'germany', 'canada', 'india', 'china'], reverse=True) # ['india', 'germany', 'france', 'china', 'canada']
Протоколы
Термины "протокол итератора" или "протокол дескрипторов" уже привычны и используются давно. Но теперь можно описывать протоколы в виде кода и проверять их соответствие на этапе статического анализа.
Протокол описывается как обычный класс, наследующийся от
Хоть это и не совсем интерфейсы, но все же классная штука. Еще важно, что протоколы, как и все остальные фишки аннотаций типов, используются в основном со статически типизированным
#typing #аннотации
Термины "протокол итератора" или "протокол дескрипторов" уже привычны и используются давно. Но теперь можно описывать протоколы в виде кода и проверять их соответствие на этапе статического анализа.
Протокол описывается как обычный класс, наследующийся от
Protocol
. Он может иметь методы (в том числе с реализацией) и поля. Реальные классы, реализующие протокол могут наследоваться от него, но это не обязательно, как показано в примере. Хоть это и не совсем интерфейсы, но все же классная штука. Еще важно, что протоколы, как и все остальные фишки аннотаций типов, используются в основном со статически типизированным
mypy
. #typing #аннотации
Forwarded from Дмитрий Обучение Python
🚀 Друзья, если вы только начинаете осваивать Python или уже перешли к фреймворкам и сложным бибилотекам,
вам помогут авторские материалы многолетнего разработчика и преподавателя Python Дмитрия Читалова.
Уже размещены:
✅Основы Python
✅Продвинутый Python
✅Алгоритмы и структуры данных
❗️Сейчас еженедельно выкладываются уроки по Архитектуре и паттернам проектирования
Подписаться можно здесь.
вам помогут авторские материалы многолетнего разработчика и преподавателя Python Дмитрия Читалова.
Уже размещены:
✅Основы Python
✅Продвинутый Python
✅Алгоритмы и структуры данных
❗️Сейчас еженедельно выкладываются уроки по Архитектуре и паттернам проектирования
Подписаться можно здесь.
Использование collections.defaultdict для работы со словарями с значениями по умолчанию
Когда вы работаете со словарями и часто сталкиваетесь с ситуацией, когда нужно инициализировать значение, если ключа ещё нет в словаре, defaultdict из модуля collections значительно упростит вашу работу.
Использование defaultdict делает код чище и защищает от ошибок, связанных с обращением к несуществующим ключам, позволяя сосредоточиться на логике задачи.
Когда вы работаете со словарями и часто сталкиваетесь с ситуацией, когда нужно инициализировать значение, если ключа ещё нет в словаре, defaultdict из модуля collections значительно упростит вашу работу.
Использование defaultdict делает код чище и защищает от ошибок, связанных с обращением к несуществующим ключам, позволяя сосредоточиться на логике задачи.
Media is too big
VIEW IN TELEGRAM
▶️ Доступ к свойствам объекта | Property и slots
В видео обсудим интересный вопрос – как можно запретить менять наши атрибуты, реализовать логику изменения/получения атрибутов и как запретить добавлять объекту новые атрибуты.
⏺ _dict_ – это атрибут объектов в питоне, который хранит состояние
⏺ _setattr_ – вызывается при попытке установить атрибут
⏺ property – это удобный механизм создания геттеров и сеттеров
⏺ _slots_ – создан для уменьшения памяти, занимаемой объектами, но как побочное свойство – не даст добавить объекту новый атрибут
👀 Смотреть на YouTube
В видео обсудим интересный вопрос – как можно запретить менять наши атрибуты, реализовать логику изменения/получения атрибутов и как запретить добавлять объекту новые атрибуты.
⏺ _dict_ – это атрибут объектов в питоне, который хранит состояние
⏺ _setattr_ – вызывается при попытке установить атрибут
⏺ property – это удобный механизм создания геттеров и сеттеров
⏺ _slots_ – создан для уменьшения памяти, занимаемой объектами, но как побочное свойство – не даст добавить объекту новый атрибут
👀 Смотреть на YouTube
This media is not supported in your browser
VIEW IN TELEGRAM
👨💻 Если вы создаете API, вот вам 6 архитектур которые нужно знать
Проектирование API — это не только функциональность, но и выбор правильной архитектуры для удовлетворения ваших потребностей. Вот шесть архитектурных проектов API, с которыми должен быть знаком каждый разработчик:
🖱 1 — REST
— Самая популярная архитектура для веб-сервисов.
— Использует HTTP-запросы для связи.
— Не сохраняет состояние и обеспечивает легкую масштабируемость и гибкость.
🖱 2 — GraphQL
— Язык запросов для вашего API.
— Позволяет клиентам запрашивать именно то, что им нужно, не больше и не меньше.
— Идеально подходит для оптимизации сетевых запросов.
🖱 3 — SOAP (устаревший)
— Протокол для обмена структурированной информацией в веб-сервисах.
— Известен своими строгими стандартами и встроенной обработкой ошибок.
— Часто используется в приложениях корпоративного уровня.
🖱 4 - gRPC
- Высокопроизводительная среда с открытым исходным кодом.
- Использует HTTP/2 для транспорта и буферы протоколов в качестве языка описания интерфейса.
- Отлично подходит для микросервисов и общения в реальном времени.
🖱 5 - WebSockets
- Обеспечивает двустороннюю связь между клиентом и сервером.
- Идеально подходит для приложений реального времени, таких как чат-приложения и обновления в реальном времени.
- Позволяет осуществлять непрерывный обмен данными без накладных расходов HTTP.
🖱 6 - MQTT
- Легкий протокол обмена сообщениями для небольших датчиков и мобильных устройств.
- Ориентирован на минимальное использование полосы пропускания и заряда батареи.
- Обычно используется в приложениях IoT (Интернет вещей).
📂 Сохраняем
#doc #cheatsheet
Проектирование API — это не только функциональность, но и выбор правильной архитектуры для удовлетворения ваших потребностей. Вот шесть архитектурных проектов API, с которыми должен быть знаком каждый разработчик:
🖱 1 — REST
— Самая популярная архитектура для веб-сервисов.
— Использует HTTP-запросы для связи.
— Не сохраняет состояние и обеспечивает легкую масштабируемость и гибкость.
🖱 2 — GraphQL
— Язык запросов для вашего API.
— Позволяет клиентам запрашивать именно то, что им нужно, не больше и не меньше.
— Идеально подходит для оптимизации сетевых запросов.
🖱 3 — SOAP (устаревший)
— Протокол для обмена структурированной информацией в веб-сервисах.
— Известен своими строгими стандартами и встроенной обработкой ошибок.
— Часто используется в приложениях корпоративного уровня.
🖱 4 - gRPC
- Высокопроизводительная среда с открытым исходным кодом.
- Использует HTTP/2 для транспорта и буферы протоколов в качестве языка описания интерфейса.
- Отлично подходит для микросервисов и общения в реальном времени.
🖱 5 - WebSockets
- Обеспечивает двустороннюю связь между клиентом и сервером.
- Идеально подходит для приложений реального времени, таких как чат-приложения и обновления в реальном времени.
- Позволяет осуществлять непрерывный обмен данными без накладных расходов HTTP.
🖱 6 - MQTT
- Легкий протокол обмена сообщениями для небольших датчиков и мобильных устройств.
- Ориентирован на минимальное использование полосы пропускания и заряда батареи.
- Обычно используется в приложениях IoT (Интернет вещей).
📂 Сохраняем
#doc #cheatsheet
👩💻 Полное руководство по пакету NumPy для научных расчетов в Python
NumPy (Numeric Python, Числовой Python) – это библиотека с открытым исходным кодом для работы с многомерными массивами и набор математических функций, которые применяются над ними
Это руководство научит вас основам NumPy, которые вы сможете использовать для вычислений в Python
🖥 Читать подробнее
NumPy (Numeric Python, Числовой Python) – это библиотека с открытым исходным кодом для работы с многомерными массивами и набор математических функций, которые применяются над ними
Это руководство научит вас основам NumPy, которые вы сможете использовать для вычислений в Python
🖥 Читать подробнее