Синтаксис:
class ParentClass:
def __init__(self, value):
self.value = value
class ChildClass(ParentClass):
def display(self):
print(f"Value: {self.value}")
-
ParentClass
— родительский класс. -
ChildClass
— дочерний класс, который наследует атрибуты и методы ParentClass
. Дочерний класс может переопределять методы родительского или добавлять новые. Например, метод
__init__
можно расширить:
class ChildClass(ParentClass):
def __init__(self, value, extra):
super().__init__(value)
self.extra = extra
Здесь
super()
используется для вызова метода родительского класса.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Кортежи и списки — это встроенные структуры данных в Python, но они имеют ключевые различия.
1️⃣ Кортежи (tuple) неизменяемы, то есть после создания их элементы нельзя изменить, добавить или удалить. Это делает кортежи более безопасными для данных, которые не должны изменяться. Кортежи создаются с помощью круглых скобок:
2️⃣ Списки (list) изменяемы, что позволяет добавлять, удалять или изменять элементы. Списки создаются с помощью квадратных скобок:
✏️ Из-за неизменяемости кортежи могут быть более производительными и использоваться в качестве ключей в словарях, в отличие от списков. Выбор между кортежами и списками зависит от необходимости изменения данных.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Python собеседования
my_tuple = (1, 2, 3)
.my_list = [1, 2, 3]
.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
NameError
. Это происходит, потому что интерпретатор не может найти ссылку на переменную в памяти.
print(x) # NameError: name 'x' is not defined
В данном примере переменная
x
не была создана, поэтому попытка её использования приводит к ошибке. Важно всегда инициализировать переменные перед их использованием, чтобы избежать подобных ошибок.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
lambda
. Они используются для создания простых функций "на лету", когда нет необходимости объявлять их через def
.
multiply = lambda x, y: x * y
print(multiply(3, 4)) # 12
Анонимные функции часто применяются в сочетании с функциями высшего порядка, такими как
map
, filter
или sorted
, для выполнения операций над коллекциями. Они ограничены одной строкой выражения и не поддерживают сложные конструкции, такие как циклы или условия.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
except
используется для обработки исключений, которые могут возникнуть в блоке try
. Если в try
происходит ошибка, выполнение переходит в соответствующий except
, где можно обработать исключение. Блок
finally
выполняется всегда, независимо от того, возникло исключение или нет. Он используется для выполнения обязательных действий, таких как освобождение ресурсов, даже если в try
произошла ошибка.
try:
result = 10 / 0
except ZeroDivisionError:
print("Деление на ноль")
finally:
print("Это выполнится в любом случае")
В данном примере сначала сработает
except
, так как происходит деление на ноль, а затем finally
, который выполнится независимо от наличия ошибки.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
__str__()
предназначен для возврата читаемого строкового представления объекта, которое используется, например, при вызове print()
или str()
. Он должен быть ориентирован на удобство для пользователя.Метод
__repr__()
возвращает однозначное и информативное строковое представление объекта, которое часто используется для отладки. Если __str__()
не определён, по умолчанию вызывается __repr__()
.
class Example:
def __str__(self):
return "Читаемое представление"
def __repr__(self):
return "Пример: информативное представление"
При вызове
print(Example())
выведется "Читаемое представление", а при вызове repr(Example())
— "Пример: информативное представление".Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
single_element_tuple = (42,)
В данном примере
single_element_tuple
будет кортежем с одним элементом 42
. Если запятую убрать, например, (42)
, это будет просто число, а не кортеж.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
numbers = [3, 1, 4, 1, 5, 9]
# Сортировка по возрастанию
sorted_numbers = sorted(numbers)
# Сортировка по убыванию
sorted_numbers_desc = sorted(numbers, reverse=True)
# Сортировка строк по длине
words = ["apple", "banana", "cherry"]
sorted_words = sorted(words, key=len)
Параметр key позволяет задавать пользовательскую логику сортировки, а reverse определяет направление.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
round()
округляет число до указанного количества знаков после запятой. Принимает два аргумента: число для округления и количество знаков после запятой (по умолчанию 0). Если количество знаков не указано, число округляется до ближайшего целого.
result = round(3.14159, 2) # Округляет до 3.14
Если количество знаков отрицательное, округление происходит до десятков, сотен и т.д. Например,
round(12345, -2)
вернёт 12300
.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10✍1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
create_engine()
, затем определить модели данных через классы, наследуемые от Base
.
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('sqlite:///example.db')
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
После создания моделей можно выполнять запросы через сессию, используя
Session
. Например, добавление данных: session.add(User(name='Alice'))
и фиксация изменений: session.commit()
.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
published_date = models.DateTimeField(auto_now_add=True)
Модель
Article
создаст таблицу с полями title
, content
и published_date
. Для работы с данными используются методы ORM, например, Article.objects.create(title="Example")
для добавления записи.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
pip
для установки пакетов, virtualenv
для создания изолированных окружений и requirements.txt
для фиксации списка зависимостей. Также популярны pipenv
и poetry
, которые объединяют управление зависимостями и виртуальными окружениями.
# requirements.txt
flask==2.0.1
requests>=2.26.0
pipenv
и poetry
используют файлы Pipfile
и pyproject.toml
соответственно, что упрощает управление зависимостями и их версиями.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
class Singleton:
_instance = None
def __new__(cls, *args, **kwargs):
if not cls._instance:
cls._instance = super().__new__(cls)
return cls._instance
Например, паттерн Singleton гарантирует, что класс имеет только один экземпляр. Это полезно для управления общими ресурсами, такими как подключения к базе данных.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
range()
генерирует последовательность чисел, которая часто используется в циклах for
для итерации. Она может принимать один, два или три аргумента: старт, стоп и шаг.
for i in range(5):
print(i) # Выведет числа от 0 до 4
Если указаны два аргумента, например,
range(2, 6)
, цикл начнётся с 2 и закончится на 5. Третий аргумент задаёт шаг: range(1, 10, 2)
выведет нечётные числа от 1 до 9.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍1