Python Hub - сборище Питонистов
1.71K subscribers
657 photos
1 video
37 files
278 links
Уголок счастья для любого питониста.

Сотрудничество или заказы: @leshunist

https://shcoder.dev - студия разработки ShcoderDevelopment

https://t.me/pythonhub_chat - чат
Download Telegram
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Стоит начать с того, что метод .pop удаляет и возвращает элемент из списка по индексу.

Начинаем из самых глубоких скобок. Сначала из списка [4, 5, 6] удалим и вернем элемент по индексу 0 —> получим 4.

Ну а далее из списка a - [1, 2, 3, 4, 5, 6] нужно удалить и вернуть элемент под индексом полученной 4-ки (четверки) —> 5. Ответом будет 5.

Напоминание: индексация идет с 0.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Создание форм в 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Функция range() в Python возвращает объект типа range, который представляет собой последовательность чисел.

В принте выводится его строковое представление - range(начало, конец, шаг).

Поэтому у нас выводится НЕ список или что-то другое, а именно range.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🔥 У нас появилась предложка! 🔥

Я создал нового бота для вас! 🤖

Теперь у каждого есть возможность кидать свои вопросы, предложения и мемы, общаясь со мной лично. 🤔💡🤣

Я надеюсь, что это станет удобным способом для всех, чтобы получать ответы на свои вопросы и делиться своими идеями и со мной. 🙌

Лучшие мемы, разборы ваших задач и вопросов будут публиковаться в группе с отметкой автора или анонимно 😊

Ссылка на бота - https://t.me/Python_Hub_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Python Hub - сборище Питонистов pinned «🔥 У нас появилась предложка! 🔥 Я создал нового бота для вас! 🤖 Теперь у каждого есть возможность кидать свои вопросы, предложения и мемы, общаясь со мной лично. 🤔💡🤣 Я надеюсь, что это станет удобным способом для всех, чтобы получать ответы на свои вопросы…»
🧑‍🎓 Задача:

Точная степень двойки

Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае.

Операцией возведения в степень пользоваться нельзя!

❗️усложнением будет являться решение через рекурсию❗️

Решения скидывайте в предложку, а лучше в комменты!

Через время разберем ваши решения!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

При помощи среза мы берем наше слово с конца, перебирая буквы через одну, т.к. шаг указали -2.

.фЛ

Ну а далее мы при помощи split пытаемся разбить слово по пробелам. Но проблема - у нас нет пробелов.
Вспоминаем, что split В ЛЮБОМ случае преобразует строку в список.

Так мы и получили список с одним элементом - нашим укороченным словом.

Ответ: ['.фЛ']
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Использование в шаблонах и отправка на сервер форм в 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 #формы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Что выдаст код выше?
Anonymous Quiz
44%
True
25%
False
15%
Error
15%
Не знаю
👍3🥰1
Что такое 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]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Что выдаст код выше?
Anonymous Quiz
17%
Parent
9%
Child
59%
Mark
9%
Error
7%
Не знаю
👍41
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

У нас есть класс, с уже заданными в нем полями 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 способа вызова метода. Через класс, передавая объект, и через сам объект.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤯1