Python Hub - сборище Питонистов
Открыть в Telegram
Уголок счастья для любого питониста. Сотрудничество или заказы: @leshunist https://shcoder.dev - студия разработки ShcoderDevelopment https://t.me/pythonhub_chat - чат
Больше1 713
Подписчики
+124 часа
-107 дней
-2030 день
Архив постов
Разбор 👨💻
У нас есть класс, с уже заданными в нем полями a = 5, b = 3. В классе так же есть метод res(), который возвращает результат суммы полей.
Создаем на основе класса объект a.
Далее, в переменную b присваиваем результат вызова A.res(a) —> вызвали метод через класс, а в self передали наш объект а —> получили сумму 5+3 = 8.
Далее c = a.res() —> вызываем метод уже через сам объект, но все равно сам объект идет в self. Получаем тоже 5 + 3 = 8
Проверка b == c —> 8 == 8 —> True
В этой задаче рассмотрены 2 способа вызова метода. Через класс, передавая объект, и через сам объект.
⏺ Что такое map() в Python?
Python имеет множество встроенных функций. Одна из таких функций -
map(). Эта функция используется для преобразования каждого элемента в итерируемом объекте, таком как список или кортеж.
➡️Как использовать функцию map()
Синтаксис функции map() очень прост:
map(function, iterable, ...)Первый аргумент - это функция, которая будет применена к каждому элементу итерируемого объекта. Второй аргумент - это итерируемый объект, который нужно преобразовать. Дополнительные аргументы могут быть добавлены для нескольких итерируемых объектов. Пример использования функции
map():
def square(x):
return x ** 2
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers))
Вывод: [1, 4, 9, 16, 25]
➡️Применение лямбда-функций с map()
map() часто используется вместе с лямбда-функциями, что делает код более компактным. Вот пример:
numbers = [1, 2, 3, 4, 5] squared_numbers = map(lambda x: x ** 2, numbers) print(list(squared_numbers))Вывод:
[1, 4, 9, 16, 25]
➡️Преобразование нескольких списков с map()
Вы также можете использовать функцию map() для преобразования нескольких списков одновременно. Вот пример:
list1 = [1, 2, 3] list2 = [4, 5, 6] summed_list = map(lambda x, y: x + y, list1, list2) print(list(summed_list))Вывод:
[5, 7, 9]⏺ Использование в шаблонах и отправка на сервер форм в Django [продолжение]
📎(первая часть)
➡️ Отправка форм на сервер
После того, как мы определили класс формы, мы можем использовать его в представлении для обработки данных, отправленных пользователем. Рассмотрим следующий пример:
from django.shortcuts import render
from .forms import LoginForm
def login_view(request):
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
# Обработка валидной формы
pass
else:
form = LoginForm()
return render(request, 'login.html', {'form': form})
Здесь мы определяем представление login_view, которое обрабатывает запросы GET и POST. Если запрос GET, мы создаем экземпляр формы и передаем его в контекст шаблона. Если запрос POST, мы создаем экземпляр формы, передаем ему данные из запроса и проверяем, является ли форма действительной. Если форма действительна, мы можем обрабатывать данные.
➡️Использование форм в шаблонах
Наконец, мы можем использовать формы в шаблонах, чтобы позволить пользователям отправлять данные на сервер. Для этого мы можем использовать следующий код в файле шаблона:
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Отправить</button>
</form>
Здесь мы используем тег form для создания HTML-формы. Мы указываем метод отправки POST и добавляем защитный токен csrf_token. Затем мы используем метод as_p() для отображения полей формы в виде абзацев.
#django #forms #формыРазбор 👨💻
При помощи среза мы берем наше слово с конца, перебирая буквы через одну, т.к. шаг указали -2.
.фЛ
Ну а далее мы при помощи split пытаемся разбить слово по пробелам. Но проблема - у нас нет пробелов.
Вспоминаем, что split В ЛЮБОМ случае преобразует строку в список.
Так мы и получили список с одним элементом - нашим укороченным словом.
Ответ: ['.фЛ']
🧑🎓 Задача:
Точная степень двойки
Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае.
Операцией возведения в степень пользоваться нельзя!
❗️усложнением будет являться решение через рекурсию❗️
Решения скидывайте в предложку, а лучше в комменты!
Через время разберем ваши решения!
🔔 Вы просили? Я сделал!
📹 Вышел видос на ютубе о БЕСПЛАТНОМ хостинге бота на Replit. Кому интересно, посмотрите и поддержите! 📹
https://www.youtube.com/watch?v=7mMrDIZWfcA&t=11s&ab_channel=Shcoder
🔥 У нас появилась предложка! 🔥
Я создал нового бота для вас! 🤖
Теперь у каждого есть возможность кидать свои вопросы, предложения и мемы, общаясь со мной лично. 🤔💡🤣
Я надеюсь, что это станет удобным способом для всех, чтобы получать ответы на свои вопросы и делиться своими идеями и со мной. 🙌
Лучшие мемы, разборы ваших задач и вопросов будут публиковаться в группе с отметкой автора или анонимно 😊
Ссылка на бота - https://t.me/Python_Hub_bot
Разбор 👨💻
Функция range() в Python возвращает объект типа range, который представляет собой последовательность чисел.
В принте выводится его строковое представление - range(начало, конец, шаг).
Поэтому у нас выводится НЕ список или что-то другое, а именно range.
⏺ Создание форм в Django
Начнем с определения: В Джанго формой называется набор полей, представляющий данные одного объекта.
В Django для создания форм используется класс
forms.Form. Этот класс определяет поля формы и правила их валидации. Например, для создания простой формы входа, мы можем определить следующий класс:
from django import forms
class LoginForm(forms.Form):
username = forms.CharField()
password = forms.CharField(widget=forms.PasswordInput)
Здесь мы определяем два поля: username и password. Поле username создается с помощью класса CharField, который позволяет вводить текстовые данные. Поле password также является CharField, но мы используем аргумент widget для определения типа поля ввода. В данном случае мы используем PasswordInput, который скрывает введенный пользователем текст.
#django #formsРазбор 👨💻
Стоит начать с того, что метод .pop удаляет и возвращает элемент из списка по индексу.
Начинаем из самых глубоких скобок. Сначала из списка [4, 5, 6] удалим и вернем элемент по индексу 0 —> получим 4.
Ну а далее из списка a - [1, 2, 3, 4, 5, 6] нужно удалить и вернуть элемент под индексом полученной 4-ки (четверки) —> 5. Ответом будет 5.
Напоминание: индексация идет с 0.
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
