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
Что выдаст код выше?
Anonymous Quiz
24%
1
21%
1 2 3
10%
1 2
24%
1 3
14%
Error
7%
Не знаю
❤‍🔥2👍1
Что такое модели в Django?


Модель в Django - это специальный класс Python, который определяет структуру таблицы в базе данных. Каждый атрибут класса соответствует столбцу в таблице, а тип атрибута определяет тип данных, хранимых в столбце. Django предоставляет множество типов полей, таких как CharField, IntegerField, BooleanField и *другие, которые можно использовать для определения различных типов данных.

👩‍💻 Создание модели

Чтобы создать модель в Django, нужно создать новый класс Python в файле models.py вашего приложения. Например, если вы создаете блог, вы можете создать модель для статей следующим образом:

from django.db import models

class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)


В этом примере мы создали модель Article с тремя полями: title, content и pub_date. Поле title определено как CharField с максимальной длиной 100 символов. Поле content определено как TextField, который может хранить длинные тексты. Поле pub_date определено как DateTimeField, который автоматически заполняется текущей датой и временем при создании новой записи.

* - https://docs.djangoproject.com/en/4.2/ref/models/fields/ ( все поля для моделей и их описание )

#django #models
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Python Hub - сборище Питонистов
Кто там просил задачи на ООП?
Разбор👨‍💻

Чуть не забыл про разбор.

У нас есть класс, в котором мы переопределили 2 метода. Конструктор - init и деструктор - del.
Конструктор вызывается при вызове класса/создании объекта.
Деструктор, при удалении объекта.

Так как у нас есть вызов класса - вызвался конструктор. На экране сработал вывод 1, но далее следует return, который останавливает работу функции (конструктора).

После этого код завершается, но, как мы знаем, Python сам чистит мусор: удаляет переменные после работы программы, чтобы высвободить память.

Поэтому деструктор срабатывает автоматически для всех объектов программы, когда она завершает свою работу.
Видим вывод 3.

Ответ: 1 3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Что выдаст код выше?
Anonymous Quiz
35%
a c
33%
a b c
13%
a b
9%
a
4%
a c b
7%
Не знаю
👍4
Python Hub - сборище Питонистов
Photo
Разбор👨‍💻

У нас уже была как-то задача, где есть 2 функции, которые одинаково названы и есть вызов.

Сначала отработает самая последняя строка - она вызовет самую наружную функцию, в ней принтанется буква 'a'.

Далее у нас идет объявление двух функций подряд, а только потом вызов —> вызываться будет последняя объявленная функция, в которой написан вывод в принте 'c'.

Больше никаких вызовов/циклов и тд нет, значит функции будут завершать работу, и мы вернемся в место первого вызова, после чего код завершиться.

Итог: а с
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Что такое конструктор __init__ в Python?

Конструктор init - это специальный метод в Python, который автоматически вызывается при создании объекта класса. Он используется для инициализации переменных экземпляра класса. Метод конструктора определяется с префиксом и суффиксом двойного подчеркивания (init). Он принимает параметр self в качестве первого аргумента и может получать другие дополнительные параметры, которые могут быть использованы для инициализации переменных экземпляра.

Вот простой пример класса с конструктором:

class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year


В приведенном выше коде мы определили класс Car с тремя переменными экземпляра - make, model и year. Метод init принимает три параметра - make, model и year. Когда создается объект класса Car, метод init инициализирует переменные экземпляра соответствующими переданными аргументами.

👩‍💻 Как использовать конструктор init в Python?

Для использования метода конструктора init необходимо создать объект класса. Вот пример того, как создать объект класса Car и инициализировать его переменные экземпляра:

my_car = Car("Toyota", "Camry", 2021)


В приведенном выше коде мы создали объект класса Car с именем my_car и передали три аргумента, чтобы инициализировать его переменные экземпляра.

👩‍💻 Преимущества конструктора init в Python

Метод конструктора init в Python имеет несколько преимуществ. Во-первых, он позволяет нам автоматически инициализировать переменные экземпляра класса при создании объекта. Во-вторых, он гарантирует, что переменные экземпляра инициализируются последовательно и уменьшает риск ошибок, вызванных неинициализированными переменными. В-третьих, он обеспечивает стандартный способ определения и инициализации переменных экземпляра в классе и делает код более читаемым и удобным для сопровождения.

#class #init #конструктор
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Что выдаст код выше?
Anonymous Quiz
16%
Error
59%
8
11%
7
8%
4
3%
5
3%
Не знаю
2👍1
Python Hub - сборище Питонистов
Photo
Разбор👨‍💻

У наст есть класс A, в котором реализован конструктор - функция __init__.

При создании объекта мы передаем в переменную a двойку, а переменная b автоматически принимает значение 5.

Далее при помощи строк:
self.a = a
self.b = b
Мы прикрепляем значения 2 и 5 для нашего объекта.

После, в строке:
a.a = 3
Мы меняем свойство a с 2ух на 3.

В результат выводим сумму значений объекта из атрибутов а и b, 3 и 5 —> 8
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Что выдаст код выше?
Anonymous Quiz
7%
5
5%
8
12%
7
55%
[6, 7]
12%
Error
10%
Не знаю
👍3❤‍🔥1🏆1
Python Hub - сборище Питонистов
Что выдаст код выше?
Разбор👨‍💻

Сначала мы найдем элемент в списке по индексу [-3].

Начинаем считать с конца. (отсчет ведем не с -0, а с -1) —> получаем элемент [5, [6, 7]]

Ну а далее мы у этого элемента берем элемент по индексу [-1] —> получаем [6, 7]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
📌 Памятка к одному из постов выше про типы моделей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Основы игрового цикла в Pygame

Игровой цикл - это основной механизм Pygame, который позволяет создавать и управлять игрой. Он состоит из нескольких этапов, которые повторяются в цикле, пока игра не завершится.

Первым этапом является обработка событий. В этом этапе Pygame проверяет все события, произошедшие с игроком, такие как нажатия клавиш, движения мыши и т.д. Затем Pygame обрабатывает эти события и делает соответствующие действия, например, изменение положения игрового персонажа.

Вторым этапом является обновление игрового состояния. В этом этапе Pygame обновляет все объекты на экране, включая игровые персонажи, фоны и препятствия. Pygame также обрабатывает физику игры, такую как гравитация и столкновения.

Третий этап - это отрисовка графики. В этом этапе Pygame рисует все игровые объекты на экране, включая фоны, персонажей и препятствия.
Затем Pygame отображает это на экране.

Пример игрового цикла с комментариями:

while True: # игровой цикл
for event in pygame.event.get(): # цикл с событиями
if event.type == pygame.QUIT: # проверка события
quit()
# тут отрисовки и логика
pygame.display.flip() # обновление экрана
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Что выдаст код выше?
Anonymous Quiz
35%
12
35%
35
15%
Error
5%
47
0%
2
10%
Не знаю
👍3
Что нужно знать о requirements.txt в Python?


При работе над проектом на Python часто используются внешние библиотеки и пакеты, которые не являются частью стандартной библиотеки Python. В этом случае необходимо отслеживать все зависимости и их соответствующие версии, чтобы гарантировать, что код выполняется ожидаемым образом на разных машинах. В этом нам поможет файл requirements.txt.

👩‍💻 Что такое requirements.txt?

Файл requirements.txt - это текстовый файл, который хранит список всех внешних зависимостей, необходимых для проекта на Python. Он содержит имена пакетов и их соответствующие версии, разделенные переносом строки. Этот файл позволяет автоматизировать установку всех зависимостей, необходимых для вашего проекта, запустив одну команду.

👩‍💻 Создание файла requirements.txt

Чтобы создать файл requirements.txt, вы можете использовать команду pip freeze. Эта команда генерирует список всех установленных пакетов и их соответствующие версии. Затем вы можете перенаправить вывод в файл, используя символ '>'. Вот пример:

pip freeze > requirements.txt


Эта команда создаст файл requirements.txt в текущем каталоге и заполнит его списком установленных пакетов.

👩‍💻 Использование файла requirements.txt

После создания файла requirements.txt вы можете использовать его для установки всех зависимостей, необходимых для вашего проекта, на другой машине. Для этого вы можете использовать команду pip install вместе с флагом -r, за которым следует путь к файлу requirements.txt. Вот пример:

pip install -r requirements.txt


Эта команда установит все пакеты, перечисленные в файле requirements.txt, вместе с их соответствующими версиями.

#requirements
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

У нас есть класс А.
В конструкторе ( метод, вызывающийся при создании объекта ), мы сохраняем значение из b в атрибут объекта b.

Далее создаем два объекта, a —> где в атрибут b = 5 , b —> где в атрибут b = 7.

В классе мы также переопределили метод __add__, который описывает поведение объектов при использовании оператора + (плюс) между ними. Переопределили на то, чтобы в результате получали умноженные атрибуты b у объектов.

Таким образом a + b = 5 * 7 = 35
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3