В этом посте мы попробуем создать простую систему управления задачами на Python. Также вы научитесь:
- Структура данных для задач
- Функция для добавления новой задачи
- Функция для изменения статуса задачи
- Функция для просмотра всех задач
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍8🤝3
А вы знали про возможность ошибки при изменении списка во время итерации?
Как раз сегодня разберем распространенную ошибку Python — изменение списка во время итерации. Эта ловушка может привести к пропущенным элементам или неожиданным результатам.
Когда вы изменяете список в процессе итерации, Python изменяет индексы элементов, что может пропускать некоторые значения:
Происходит это из-за того, что удаление изменяет длину списка, а цикл перескакивает через элементы.
Чтобы избежать пропусков, итерируйтесь по копии списка:
А иногда проще создать новый список с нужными элементами:
Но вот если работать со вложенными списками, прямое изменение элементов также может привести к неожиданным результатам:
🔥 Поэтому лучше работайте с копиями или используйте безопасные методы, такие как списковые включения)
👉 Python Ready | #практика
Как раз сегодня разберем распространенную ошибку Python — изменение списка во время итерации. Эта ловушка может привести к пропущенным элементам или неожиданным результатам.
Когда вы изменяете список в процессе итерации, Python изменяет индексы элементов, что может пропускать некоторые значения:
nums = [1, 2, 3, 4]
for num in nums:
if num % 2 == 0:
nums.remove(num)
print(nums) # [1, 3]
Происходит это из-за того, что удаление изменяет длину списка, а цикл перескакивает через элементы.
Чтобы избежать пропусков, итерируйтесь по копии списка:
nums = [1, 2, 3, 4]
for num in nums[:]: # Создаем копию
if num % 2 == 0:
nums.remove(num)
print(nums) # [1, 3]
А иногда проще создать новый список с нужными элементами:
nums = [1, 2, 3, 4]
nums = [num for num in nums if num % 2 != 0]
print(nums) # [1, 3]
Но вот если работать со вложенными списками, прямое изменение элементов также может привести к неожиданным результатам:
matrix = [[1, 2], [3, 4]]
for row in matrix:
row.append(0)
print(matrix) # [[1, 2, 0], [3, 4, 0]]
🔥 Поэтому лучше работайте с копиями или используйте безопасные методы, такие как списковые включения)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥8❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Прикольный сайт, где можно генерировать тестовые данные для своих нужд
Mockaroo — онлайн-инструмент для генерации тестовых данных в различных форматах (JSON, CSV, SQL и др.), идеально подходящий для тестирования приложений и прототипирования
👉 Python Ready | #ресурс
Mockaroo — онлайн-инструмент для генерации тестовых данных в различных форматах (JSON, CSV, SQL и др.), идеально подходящий для тестирования приложений и прототипирования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥5🤝1
👍10🔥5
Давайте вспомним один из важных типов данных в Python — словарь. Он хранит данные в виде пар ключ–значение, что делает его удобным для хранения информации, например, о пользователе.
В этой шпаргалке разберём полезные методы словарей, которые позволяют эффективно управлять данными.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥6🤝4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁71🔥12👍4
Сейчас обсудим с вами исключения и управление ошибками в питончике
Грамотное управление исключениями помогает писать устойчивый код. Python предоставляет удобный синтаксис для перехвата и обработки ошибок, а также позволяет создавать свои собственные исключения.
1. Обработка исключений с try-except — ключевой способ предотвращения аварийного завершения программы:
2. Использование finally — Блок
3. Создание пользовательского исключения — определите свой класс исключения для кастомных ошибок:
👉 Python Ready | #техсобес
Грамотное управление исключениями помогает писать устойчивый код. Python предоставляет удобный синтаксис для перехвата и обработки ошибок, а также позволяет создавать свои собственные исключения.
1. Обработка исключений с try-except — ключевой способ предотвращения аварийного завершения программы:
try:
result = 10 / 0
except ZeroDivisionError:
result = None
print(result) # None
2. Использование finally — Блок
finally
выполняется всегда, даже если произошло исключение: try:
f = open("example.txt", "r")
except FileNotFoundError:
print("File not found")
finally:
print("Cleaning up") # Чистим ресурсы, если нужно
3. Создание пользовательского исключения — определите свой класс исключения для кастомных ошибок:
class CustomError(Exception):
pass
try:
raise CustomError("An error occurred")
except CustomError as e:
print(e) # An error occurred
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥7🤝1
В этом посте мы рассмотрим упаковку и распаковку аргументов с помощью * и **, их применение для списков, словарей и функций. Аргументы очень часто используются в кодинге, рекомендую их изучить!
- Упаковка аргументов с *args
- Упаковка именованных аргументов с **kwargs
- Распаковка словарей
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍10🤝5
Множества в Python для начинающих
#новичкам
Сегодня разберемся, как работать с множествами в Питоне.
Это коллекции уникальных элементов без порядка. Они полезны, если нужно избавиться от повторов.
Для создания множества, достаточно просто написать:
Но чтобы добавить элементы, используем
Для удаления элемента используем
Множества поддерживают операции пересечения, объединения и разности:
🔥 Такие простые изменения помогут вам сделать код более эффективным и избежать лишних повторений.
👉 Python Ready | #практика
#новичкам
Сегодня разберемся, как работать с множествами в Питоне.
Это коллекции уникальных элементов без порядка. Они полезны, если нужно избавиться от повторов.
Для создания множества, достаточно просто написать:
my_set = {1, 2, 3, 4}
Но чтобы добавить элементы, используем
add()
для одного элемента и update()
для нескольких:my_set.add(5)
my_set.update([6, 7, 8])
Для удаления элемента используем
remove()
(с ошибкой, если элемент отсутствует) или безопасный discard()
:my_set.remove(5)
my_set.discard(9)
Множества поддерживают операции пересечения, объединения и разности:
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 & set2) # Пересечение: {3}
print(set1 | set2) # Объединение: {1, 2, 3, 4, 5}
print(set1 - set2) # Разность: {1, 2}}
🔥 Такие простые изменения помогут вам сделать код более эффективным и избежать лишних повторений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥11🤝2