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
[]
. Элементы могут быть любого типа и разделяются запятыми. Для добавления элемента в список используется метод append()
.
my_list = [1, 2, 3]
my_list.append(4) # Добавляет 4 в конец списка
Также можно использовать метод
insert()
для добавления элемента на определённую позицию. Например, my_list.insert(1, 10)
добавит число 10 на вторую позицию.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🤔1
return
, и они будут автоматически упакованы в кортеж.
def get_values():
return 1, 2, 3
result = get_values() # Возвращает кортеж (1, 2, 3)
Также можно явно указать возвращаемые структуры, например, список или словарь, в зависимости от задачи.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
except
или перечислить исключения в одном блоке через кортеж. Это позволяет обрабатывать разные ошибки по отдельности или совместно.
try:
result = 10 / 0
except (ZeroDivisionError, TypeError) as e:
print(f"Произошла ошибка: {e}")
В данном примере перехватываются как деление на ноль, так и ошибка типа данных. Оба исключения обрабатываются в одном блоке.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3❤1