PyCode
22 subscribers
22 photos
43 links
Добро пожаловать на PyCode! Здесь мы вместе шаг за шагом изучаем основы языка программирования Python. От простых понятий до продвинутых тем, каждый урок будет наполнен понятными объяснениями, практическими примерами и, конечно же, юмором!
Download Telegram
👩‍💻Цикл for в Python

Цикл for — это основной инструмент для перебора элементов в последовательностях (списках, кортежах, строках и др.) и выполнения блока кода для каждого элемента. В Python цикл for отличается от традиционных циклов других языков программирования, где используется счётчик и условие. В Python он более гибкий и часто используется для итерации по коллекциям.

👀Основной синтаксис
for элемент in последовательность:
тело цикла

В этом цикле переменная элемент (у программистов принято называть ее i) последовательно принимает значения из указанной последовательности. Как только все элементы пройдены, цикл завершается.
my_list = [1, 2, 3, 4, 5]
for number in my_list:
print(number)

Этот цикл перебирает каждый элемент списка и выводит его.

❗️Важно понимать, что каждый элемент будет выведен на новую строку потому что print имеет значение '\n' (перенос на новую строку) по умолчанию

Итерация по строкам и другим коллекциям
🤯Цикл for может работать с любыми итерируемыми объектами, такими как строки, списки, кортежи, множества и словари.
Пример итерации по строке:
for char in "Python":
print(char)

Этот цикл выведет каждый символ (на новой строке) слова "Python".

Использование функции range()
💻Часто цикл for используется совместно с функцией range(), которая возвращает последовательность чисел. Это полезно, когда нужно итерировать по определённому диапазону чисел.
Пример:
for i in range(5):
print(i)

Этот цикл выведет числа от 0 до 4. Важно помнить, что range() включает начальное значение (по умолчанию 0), но исключает конечное.

📖Python позволяет создавать for в одну строку (list competition), что выглядит достаточно лаконично (более подробную информацию вы сможете найти в нашем телеграм-канале - list competition)

✨Цикл for — это мощный инструмент, который позволяет гибко работать с любыми итерируемыми объектами в Python.
#PyLearn

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻31
👨‍💻2
Что выведет данный код?
Anonymous Quiz
0%
54
67%
55
33%
Код вызовет ошибку
0%
50
👨‍💻2
👩‍💻Оператор break в Python

Оператор break в Python используется для досрочного завершения цикла, когда больше не имеет смысла продолжать его выполнение. При срабатывании break цикл сразу прерывается, и управление передаётся коду, который следует после цикла.

💻Как это работает?
При выполнении break Python немедленно завершает текущий цикл, вне зависимости от оставшихся итераций. Это позволяет прерывать выполнение цикла по определённым условиям, например, когда найден нужный элемент.
for i in range(10):
if i == 5:
break # Прерываем цикл, когда i равно 5
print(i)

Этот цикл завершится, когда переменная i станет равна 5, и больше не выполнит оставшиеся итерации (6–9).

💬Когда использовать break?
1) Поиск элемента: если цикл ищет элемент в списке, и после его нахождения можно прекратить работу.
2) Прерывание бесконечных циклов: в циклах while True оператор break часто используется для выхода из бесконечного цикла по какому-то условию.
while True:
user_input = input("Введите 'exit' для выхода: ")
if user_input == 'exit':
break


👍Оператор break — это мощный инструмент для управления циклами в Python. Он позволяет динамически завершать цикл в зависимости от условий, что делает код гибким и управляемым.
#PyLearn

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻3
👨‍💻1
Что выведет данный код?
Anonymous Quiz
25%
4
50%
3
0%
0
25%
2
👨‍💻1
👩‍💻Суммирование с помощью sum()

Функция sum() в Python упрощает суммирование чисел в итерируемых объектах, таких как списки или кортежи. Это быстрый способ сложить элементы без использования циклов.

numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total) # 15


✨sum() — это отличный инструмент для обработки числовых данных, делая код компактным и читаемым.
#PyTips

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻21
👨‍💻1
👨‍💻1
👩‍💻Оператор continue в Python

Continue используется для пропуска текущей итерации цикла и перехода к следующей. В отличие от break, который полностью завершает цикл, continue лишь завершает текущую итерацию, позволяя циклу продолжать работу.

Как работает continue?
❓Когда Python встречает оператор continue, все оставшиеся команды в этой итерации игнорируются, и управление передаётся следующей итерации цикла.

Пример: пропуск чётных чисел в цикле.
for i in range(10):
if i % 2 == 0:
continue # Пропускаем чётные числа
print(i)

Этот код выводит только нечётные числа: 1, 3, 5, 7, 9.

🤩Когда использовать continue?
1) Фильтрация данных. continue позволяет пропускать нежелательные элементы, например, при работе с файлами, строками или списками.
2) Упрощение кода. continue позволяет упростить логические условия, избегая дополнительных проверок или вложенности.
3) Оптимизация. В сложных вычислениях можно использовать continue для пропуска лишних шагов и ускорения выполнения.

📖continue — это полезный инструмент для контроля цикла, который позволяет гибко пропускать ненужные итерации и упрощать структуру кода. Его применение особенно эффективно для фильтрации данных или выполнения условий в больших циклах.
#PyLearn

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻1
👨‍💻1
Что выведет данный код?
Anonymous Quiz
0%
0
57%
14
14%
12
29%
20
👨‍💻1
👩‍💻Операторы % и // в Python

В Python операторы % и // служат для работы с целочисленными операциями.

Оператор % — Остаток от деления
🤯Оператор % возвращает остаток от деления одного числа на другое. Его часто используют для проверки чётности или кратности.
print(10 % 3)  # Результат: 1 (остаток от деления 10 на 3)


Оператор // — Целочисленное деление
🎧// выполняет деление с округлением в меньшую сторону до целого числа.
print(10 // 3)  # Результат: 3 (целиком делим 10 на 3)


🥺Где применяются
% часто используется для работы с цикличными значениями или проверок.
if number % 2 == 0:
print("Чётное")

// полезен, когда важен только целый результат деления, без дробной части.
Вычисление количества целых частей:
pages = total_items // items_per_page


👀Эти операторы полезны в математических задачах, циклах и при разбиении данных на части.
#PyLearn

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻32
👨‍💻4
3👨‍💻11
👩‍💻Вложенные циклы в Python

Вложенные циклы — это циклы внутри других циклов. Это мощный инструмент для работы с многомерными данными, таблицами, матрицами или сложными структурами.

🥺Как работают вложенные циклы?
Когда внешний цикл начинает итерацию, внутренний цикл выполняется полностью для каждого значения внешнего цикла. Например, если внешний цикл проходит по строкам, внутренний может обрабатывать элементы в каждой строке.
for i in range(3):  # Внешний цикл
for j in range(2): # Внутренний цикл
print(f"i={i}, j={j}")

Вывод:
i=0, j=0
i=0, j=1
i=1, j=0
i=1, j=1
i=2, j=0
i=2, j=1

В этом примере внешний цикл проходит по числам от 0 до 2, а внутренний — по числам от 0 до 1 для каждого значения внешнего цикла.

📖Пример задачи: таблица умножения
Вложенные циклы можно использовать для генерации таблиц, например, таблицы умножения:
for i in range(1, 6):  # Внешний цикл
for j in range(1, 6): # Внутренний цикл
print(i * j, end="\t") # Выводим произведение, \t - табуляция (четыре пробела)
print() # Переход на новую строку

Вывод:
1 2 3 4 5 
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25

Здесь каждый цикл перемножает числа от 1 до 5, что создает таблицу умножения.

💻Вложенные циклы — это мощный инструмент, который позволяет решать сложные задачи, но они требуют осторожного использования, чтобы избежать чрезмерной сложности кода и потерь производительности.
#PyLearn

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻21
👨‍💻3
Что выведет данный код?
Anonymous Quiz
7%
12, 10, 22, 20
47%
10, 11, 20, 22
27%
20, 10
20%
10, 11, 22, 20
👨‍💻4
Всем привет! 👋
Длительное время канал лежал мертвым грузом, но я решил его реанимировать. Попробую делиться полезной информацией на собственном примере. Сейчас я пишу небольшой проект с интересным стеком и подумал, что будет круто поэтапно разбирать весь процесс: от выбора инструментов до решения проблем в ходе разработки 🧑‍💻
Что я пишу? Решил попробовать реализовать дейтинг-бота с ии плюшками, мини-апкой и оптимальными алгоритмами. Получается полный набор джентльмена: бот, фронт, бек, общие сервисы, CI/CD, контейнеризация и еще море интереснейших технологий 🎩
Начнем с основы бота - фреймворка. Первые проекты я писал на TeleBot - в целом, функционала "из коробки" вполне хватало для небольших линейных ботов, но когда я решил написать что-то серьезное, я выбрал инструмент на голову выше - Aiogram. Он асинхронный (в целом, это уже железобетонный аргумент в его пользу), имеет крайне гибкую систему фильтров, встроенные роутеры (как в FastApi), менеджер состояний, мидлверы - в общем, буквально младенец против ядерной бомбы 🤯
Как вам такой формат? Делитесь мыслями💻

🐍 PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Изоляция зависимостей

Что это и зачем нужно? 📖
Допустим, вы только скачали Python и решили написать проект на джанго. Пишете в терминале pip install django. Затем захотели создать бота - докинули aiogram, для базы данных накатили sqlalchemy. В итоге ваш глобальный питон забивается солянкой из самых разных библиотек, именно для того, чтобы проекты не мешали друг другу, придумали виртуальное окружение 💡

Раньше для меня стандартом была дефолтная утилита в питоне venv, простой командой python -m venv venv она создает в корне проекта изолированную версию питона.
Так что же не так? В принципе, для маленьких проектов этого функционала вполне хватало, но все изменилось, когда я познакомился с poetry 😍

Poetry - мегаудобный инструмент для управления зависимостями, и вот почему
1. С Poetry больше не надо при добавлении новой либы вручную вписывать её название и версию в requirement.txt
2. poetry позволяет разделить либы по группам - настоящая имба
3. При инициализации проекта на новом устройстве или сервере достаточно просто написать в консоли poetry install

Poetry полностью автоматизирует рутинные процессы настройки венвы и избавляет от головной боли с версиями. Для модульных проектов это мастхэв 🍒

🐍 PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
4👨‍💻31