Использование оператора else с циклом for или while
В Python циклы for и while могут содержать блок else, который выполняется, если цикл завершился без прерывания (без использования break). Это мощная, но часто забываемая возможность, которая позволяет элегантно обрабатывать случаи, когда цикл проходит полностью.
Использование else с циклами помогает избежать лишних проверок и делает код более логичным, особенно в ситуациях, когда важно знать, был ли цикл завершен естественным образом или был прерван.
В Python циклы for и while могут содержать блок else, который выполняется, если цикл завершился без прерывания (без использования break). Это мощная, но часто забываемая возможность, которая позволяет элегантно обрабатывать случаи, когда цикл проходит полностью.
Использование else с циклами помогает избежать лишних проверок и делает код более логичным, особенно в ситуациях, когда важно знать, был ли цикл завершен естественным образом или был прерван.
Media is too big
VIEW IN TELEGRAM
▶️ Список и кортеж
В видео рассмотрим особенности списков и кортежей: что хочет слышать работодатель, как хранятся в памяти, почему кортеж реально неизменяемый
Использование кортежей:
⏺ Используй [] для создания пустого списка ({} для словаря)
⏺ Если заранее известен размер, то не используй append (для 8000 добавлений выделяется 8600 ячеек памяти)
⏺ Используй листкомпс
⏺ Не пытайся заменять список кортежом, там где идет изменение размера
👀 Смотреть на YouTube
В видео рассмотрим особенности списков и кортежей: что хочет слышать работодатель, как хранятся в памяти, почему кортеж реально неизменяемый
Использование кортежей:
⏺ Используй [] для создания пустого списка ({} для словаря)
⏺ Если заранее известен размер, то не используй append (для 8000 добавлений выделяется 8600 ячеек памяти)
⏺ Используй листкомпс
⏺ Не пытайся заменять список кортежом, там где идет изменение размера
👀 Смотреть на YouTube
⚙️ __repr__
При определении класса или объекта полезно добавлять «официальный» способ представления объекта строкой. Например:
✔️ Это сильно упрощает отладку. Вот всё, что вам нужно сделать:
Метод
При определении класса или объекта полезно добавлять «официальный» способ представления объекта строкой. Например:
>>> file = open('file.txt', 'r')
>>> print(file)
<open file 'file.txt', mode 'r' at 0x10d30aaf0>
✔️ Это сильно упрощает отладку. Вот всё, что вам нужно сделать:
class SomeClass:
def __repr__(self):
return "<какое-то описание>"
some_instance = SomeClass()
# выводит <какое-то описание>
print(some_instance)
Метод
__repr__()
позволяет определять строковое представление, предназначенное для программиста и удобное при использовании во время отладки, а метод __str__()
позволяет определять понятное пользователю строковое представление, которое можно отображать в интерфейсе программы.Итерируемый счетчик
Еще один классный итератор из
В аргументах можно задать значения
Обычно
#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 делает код чище и защищает от ошибок, связанных с обращением к несуществующим ключам, позволяя сосредоточиться на логике задачи.