Python Hub - сборище Питонистов
Кто там просил задачи на ООП?
Разбор👨💻
Чуть не забыл про разбор.
У нас есть класс, в котором мы переопределили 2 метода. Конструктор - init и деструктор - del.
Конструктор вызывается при вызове класса/создании объекта.
Деструктор, при удалении объекта.
Так как у нас есть вызов класса - вызвался конструктор. На экране сработал вывод 1, но далее следует return, который останавливает работу функции (конструктора).
После этого код завершается, но, как мы знаем, Python сам чистит мусор: удаляет переменные после работы программы, чтобы высвободить память.
Поэтому деструктор срабатывает автоматически для всех объектов программы, когда она завершает свою работу.
Видим вывод 3.
Ответ: 1 3
У нас есть класс, в котором мы переопределили 2 метода. Конструктор - init и деструктор - del.
Конструктор вызывается при вызове класса/создании объекта.
Деструктор, при удалении объекта.
Так как у нас есть вызов класса - вызвался конструктор. На экране сработал вывод 1, но далее следует return, который останавливает работу функции (конструктора).
После этого код завершается, но, как мы знаем, Python сам чистит мусор: удаляет переменные после работы программы, чтобы высвободить память.
Поэтому деструктор срабатывает автоматически для всех объектов программы, когда она завершает свою работу.
Видим вывод 3.
Ответ: 1 3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
👍4
Python Hub - сборище Питонистов
Photo
Разбор👨💻
У нас уже была как-то задача, где есть 2 функции, которые одинаково названы и есть вызов.
Сначала отработает самая последняя строка - она вызовет самую наружную функцию, в ней принтанется буква 'a'.
Далее у нас идет объявление двух функций подряд, а только потом вызов —> вызываться будет последняя объявленная функция, в которой написан вывод в принте 'c'.
Больше никаких вызовов/циклов и тд нет, значит функции будут завершать работу, и мы вернемся в место первого вызова, после чего код завершиться.
Итог: а с
Сначала отработает самая последняя строка - она вызовет самую наружную функцию, в ней принтанется буква 'a'.
Далее у нас идет объявление двух функций подряд, а только потом вызов —> вызываться будет последняя объявленная функция, в которой написан вывод в принте 'c'.
Больше никаких вызовов/циклов и тд нет, значит функции будут завершать работу, и мы вернемся в место первого вызова, после чего код завершиться.
Итог: а с
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Конструктор init - это специальный метод в Python, который автоматически вызывается при создании объекта класса. Он используется для инициализации переменных экземпляра класса. Метод конструктора определяется с префиксом и суффиксом двойного подчеркивания (init). Он принимает параметр self в качестве первого аргумента и может получать другие дополнительные параметры, которые могут быть использованы для инициализации переменных экземпляра.
Вот простой пример класса с конструктором:
class Car:В приведенном выше коде мы определили класс Car с тремя переменными экземпляра - make, model и year. Метод init принимает три параметра - make, model и year. Когда создается объект класса Car, метод init инициализирует переменные экземпляра соответствующими переданными аргументами.
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
Для использования метода конструктора init необходимо создать объект класса. Вот пример того, как создать объект класса Car и инициализировать его переменные экземпляра:
my_car = Car("Toyota", "Camry", 2021)
В приведенном выше коде мы создали объект класса Car с именем my_car и передали три аргумента, чтобы инициализировать его переменные экземпляра.Метод конструктора init в Python имеет несколько преимуществ. Во-первых, он позволяет нам автоматически инициализировать переменные экземпляра класса при создании объекта. Во-вторых, он гарантирует, что переменные экземпляра инициализируются последовательно и уменьшает риск ошибок, вызванных неинициализированными переменными. В-третьих, он обеспечивает стандартный способ определения и инициализации переменных экземпляра в классе и делает код более читаемым и удобным для сопровождения.
#class #init #конструктор
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
❤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
При создании объекта мы передаем в переменную 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
Что пишете на Python? ( можно выбрать несколько вариантов )
Anonymous Poll
30%
Консольные приложения
26%
GUI Desktop приложения
15%
Сайты (Django, Flask и тд.)
62%
Боты (телега, дискорд)
21%
Другое
9%
Пишу не на Python
17%
Узнать ответы
👍3❤2
👍3❤🔥1🏆1
https://www.youtube.com/watch?v=10asGLlEQb0&t=16s&ab_channel=Shcoder
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
GUI PYTHON ПРОГРАММА ЗА 5 МИНУТ на TKINTER. Что нужно знать?
В этом видео мы посмотрим, что минимально нужно знать, чтобы написать простую Python программу с GUI графическим интерфейсом.
Использовать будем пайтон версии 3.8 и библиотеку Tkinter.
Будут рассмотрены виджеты: Label, Entry, Button и их основные свойства.…
Использовать будем пайтон версии 3.8 и библиотеку Tkinter.
Будут рассмотрены виджеты: Label, Entry, Button и их основные свойства.…
👍3
Python Hub - сборище Питонистов
Что выдаст код выше?
Разбор👨💻
Сначала мы найдем элемент в списке по индексу [-3].
Начинаем считать с конца. (отсчет ведем не с -0, а с -1) —> получаем элемент [5, [6, 7]]
Ну а далее мы у этого элемента берем элемент по индексу [-1] —> получаем [6, 7]
Начинаем считать с конца. (отсчет ведем не с -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 отображает это на экране.
Пример игрового цикла с комментариями:
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
👍3
При работе над проектом на Python часто используются внешние библиотеки и пакеты, которые не являются частью стандартной библиотеки Python. В этом случае необходимо отслеживать все зависимости и их соответствующие версии, чтобы гарантировать, что код выполняется ожидаемым образом на разных машинах. В этом нам поможет файл requirements.txt.
Файл requirements.txt - это текстовый файл, который хранит список всех внешних зависимостей, необходимых для проекта на Python. Он содержит имена пакетов и их соответствующие версии, разделенные переносом строки. Этот файл позволяет автоматизировать установку всех зависимостей, необходимых для вашего проекта, запустив одну команду.
Чтобы создать файл requirements.txt, вы можете использовать команду pip freeze. Эта команда генерирует список всех установленных пакетов и их соответствующие версии. Затем вы можете перенаправить вывод в файл, используя символ '>'. Вот пример:
pip freeze > 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
👍7❤1
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
У нас есть класс А.
В конструкторе ( метод, вызывающийся при создании объекта ), мы сохраняем значение из b в атрибут объекта b.
Далее создаем два объекта, a —> где в атрибут b = 5 , b —> где в атрибут b = 7.
В классе мы также переопределили метод __add__, который описывает поведение объектов при использовании оператора + (плюс) между ними. Переопределили на то, чтобы в результате получали умноженные атрибуты b у объектов.
Таким образом a + b = 5 * 7 = 35
В конструкторе ( метод, вызывающийся при создании объекта ), мы сохраняем значение из 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
Проект в Django - это полный набор настроек, который состоит из нескольких приложений и определяет способ взаимодействия между ними. Проект в Django создается с помощью команды
django-admin startproject, которая создает каркас проекта. Пример создания проекта:django-admin startproject myprojectЭта команда создает структуру проекта, которая включает файлы настроек проекта, файлы статических файлов, файлы шаблонов и т.д.
Приложение в Django - это отдельный модуль, который реализует определенную функциональность в рамках проекта. Каждое приложение может содержать свои собственные модели, представления, шаблоны, статические файлы и т.д. Приложение в Django создается с помощью команды
python manage.py startapp, которая создает файлы для нового приложения. Пример создания приложения:python manage.py startapp myappЭта команда создает каталог
myapp, который содержит файлы для моделей, представлений, шаблонов и т.д.Представим, что у нас есть интернет-магазин, который состоит из нескольких приложений:
catalog, cart, orders и payments. Каждое приложение реализует определенную функциональность.-
catalog - приложение, которое отображает список товаров и подробную информацию о каждом товаре.-
cart - приложение, которое управляет корзиной покупателя.-
orders - приложение, которое отображает информацию о заказах.-
payments - приложение, которое обрабатывает платежи.В данном случае, проект в Django будет представлять собой общий набор настроек для всех приложений, а каждое приложение будет реализовывать свою конкретную функциональность.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3