❤6👍3👌2
Всё просто! Функция не изменяет исходную переменную string, потому что строки неизменяемы и присваивание внутри функции не влияет на внешние переменные.
Поэтому print(string) выведет: hello
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10⚡5🔥5
Числа от -5 до 256 кешируются и переиспользуются:
a = 256
b = 256
print(a is b) # True
c = 257
d = 257
print(c is d) # False (новые объекты)
Короткие строки и строки, состоящие только из букв и _, могут кешироваться:
s1 = "hello"
s2 = "hello"
print(s1 is s2) # True
s3 = "hello world!"
s4 = "hello world!"
print(s3 is s4) # False (слишком длинная строка)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2🔥2⚡1
Для использования метода .bit_count() вам просто нужно вызвать его на числовом значении. Это возвращает количество единичных битов в двоичном представлении числа. Например, число 7 в двоичном формате представляется как 111. (3 по 1)
print((7).bit_count()) # выводит: 3
Метод .bit_count() был введен в Python 3.10. Этот метод был добавлен для более эффективной работы с битами и двоичными данными.
# Пример с маской подсети
subnet_mask = 0b11111111_11111111_11111111_00000000
print(subnet_mask.bit_count()) # выводит: 24
# Пример с битовым флагом
bit_flag = 0b1001
print(bit_flag.bit_count()) # выводит: 2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥2
PostgreSQL - это реляционная система управления базами данных (СУБД), использующая язык SQL для запросов. Она была разработана в университете Беркли и является одной из самых надежных и производительных СУБД на рынке. PostgreSQL предоставляет мощные функциональные возможности, включая поддержку многопользовательских сред и транзакций. PostgreSQL также имеет встроенную поддержку геоданных и полнотекстового поиска.
MySQL - это также реляционная СУБД, которая используется для хранения и управления данными. MySQL была приобретена компанией Oracle Corporation в 2010 году. MySQL является одной из самых популярных СУБД на рынке, и она широко используется в веб-разработке. MySQL предоставляет множество функций, включая поддержку транзакций и многопользовательских сред, а также хорошо работает с большими объемами данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3🔥2
Docker использует контейнеры для упаковки и запуска приложений. Контейнеры представляют собой изолированные среды, которые содержат все необходимые компоненты для работы приложения. Контейнеры создаются из образов, которые являются основой для контейнеров. Образы содержат все необходимые компоненты, включая операционную систему, библиотеки и зависимости приложения.
Dockerfile - это текстовый файл, который содержит инструкции для создания Docker-образа. Dockerfile определяет операционную систему, настройки окружения, установку зависимостей и т. д. Создание Docker-образа с помощью Dockerfile позволяет автоматизировать процесс сборки и развертывания приложения.
Docker Compose - это инструмент для определения и запуска многоконтейнерных Docker-приложений. Docker Compose использует файл docker-compose.yml для определения сервисов, которые необходимо запустить, а также их настроек. Docker Compose позволяет легко запускать и масштабировать приложения, состоящие из нескольких сервисов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤6🔥2
from itertools import permutations
items = [1, 2, 3]
print(list(permutations(items, 2)))
# [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
combinations) выбирают элементы без учета порядка:from itertools import combinations
print(list(combinations(items, 2)))
# [(1, 2), (1, 3), (2, 3)]
Это очень полезно для генерации вариантов решений, паролей или анализа данных!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥3
functools.lru_cache(), который запоминает результаты вызовов и при повторных обращениях с теми же аргументами просто возвращает сохранённый результат, не выполняя вычисления заново.from functools import lru_cache
@lru_cache(maxsize=128) # Ограничиваем объем кэша
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)
print(factorial(50)) # Результат будет кэширован
- При первом вызове функции с определёнными аргументами результат сохраняется в кэше.
- При последующих вызовах с теми же аргументами результат берётся из кэша без повторных вычислений.
- Когда кэш заполняется, старые записи удаляются согласно принципу LRU (Least Recently Used — наименее часто используемые).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍6🔥4
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣12❤5🔥3😁2👍1
Клиент отправляет в заголовке:
Accept: application/json
FastAPI проверяет Accept и возвращает наиболее подходящий формат, если он доступен.
from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse, HTMLResponse
app = FastAPI()
@app.get("/")
async def get_root(request: Request):
if "text/html" in request.headers.get("accept", ""):
return HTMLResponse(content="<h1>Hello, HTML!</h1>")
return JSONResponse(content={"message": "Hello, JSON!"})
• REST API с возможностью HTML-ответа (Swagger, docs)
• API, которые отдают разный формат в зависимости от платформы (например, Web vs Mobile)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍6🔥4
- JSON / XML / YAML форматтер — красиво, читаемо, валидно
- Base64 / URL / HTML кодировщик-декодер
- UUID генератор — новый мир — новый ID
- JWT декодер — без онлайн-сервисов
- Хеши — MD5, SHA1, SHA256, SHA512, Bcrypt
- Regex тестер — проверяй регулярки на лету
- Timestamp - Читаемая дата
- Color Converter — RGB - HEX
- Lorem Ipsum генератор — и ещё 20+ утилит
- Работает офлайн — никакие данные не уходят в интернет
- Простой и быстрый UI
- Поддержка темной темы
- Полностью бесплатно и с открытым кодом
Microsoft Store
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥4
Документация
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍3🔥3
👍8🤔4🔥2🤨1
Лямбда-функция проверяет, является ли x числом (int). Если нет, возвращает длину x.
Для строки "Python": isinstance("Python", int) → False, поэтому возвращается len("Python") → 6.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
BrOk — графический дизайнер интеграционных процессов от AXENIX
🔥 BrOk — это low-code решение для работы с брокерами сообщений (Kafka, RabbitMQ, Artemis, Redis MQ, NATS), СУБД, REST-сервисами и хранилищами данных (ETCD, Redis). Всё управление — через единый GUI, без лишних CLI-команд.
Для кого: разработчики, DevOps и QA, которые настраивают интеграции, тестируют нагрузку или управляют обменом данными.
Что умеет BrOk:
🔸 Подключение к брокерам, БД, REST-API, ETCD и Redis в одном интерфейсе
🔸 Генерация сообщений по шаблонам для тестов
🔸 Low-code сценарии с ретраями и расписанием
🔸 Поддержка Postman и OpenAPI-коллекций
🔸 Инструменты для Kafka: KsqlDB, Connect, Schema Registry
🔥 Главное — BrOk распространяется бесплатно для некоммерческого использования.
Скачайте дистрибутив на официальном сайте и упростите разработку и тестирование сложных информационных систем уже сегодня!
Реклама. ООО «Акстим Тех». ИНН 6950259732
🔥 BrOk — это low-code решение для работы с брокерами сообщений (Kafka, RabbitMQ, Artemis, Redis MQ, NATS), СУБД, REST-сервисами и хранилищами данных (ETCD, Redis). Всё управление — через единый GUI, без лишних CLI-команд.
Для кого: разработчики, DevOps и QA, которые настраивают интеграции, тестируют нагрузку или управляют обменом данными.
Что умеет BrOk:
🔸 Подключение к брокерам, БД, REST-API, ETCD и Redis в одном интерфейсе
🔸 Генерация сообщений по шаблонам для тестов
🔸 Low-code сценарии с ретраями и расписанием
🔸 Поддержка Postman и OpenAPI-коллекций
🔸 Инструменты для Kafka: KsqlDB, Connect, Schema Registry
🔥 Главное — BrOk распространяется бесплатно для некоммерческого использования.
Скачайте дистрибутив на официальном сайте и упростите разработку и тестирование сложных информационных систем уже сегодня!
Реклама. ООО «Акстим Тех». ИНН 6950259732
❤3
http GET https://api.example.com/users
http POST https://api.example.com/users name=Alice
А ответы приходят красиво: цветной и форматированный JSON, заголовки, статусы — всё как на ладони
- Простая альтернатива curl
- Авторизация: Basic, Bearer, OAuth
- Поддержка JSON, форм, файлов, заголовков
- Веб-версия и десктоп-приложение
- Кроссплатформенно (Windows / macOS / Linux)
Официальный сайт
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤5👍5
from itertools import cycle
colors = ["red", "green", "blue"]
color_cycle = cycle(colors)
for _ in range(5):
print(next(color_cycle)) # red → green → blue → red → green
- Повторение элементов списка без переписывания вручную.
- Автоматическое зацикливание без индексов.
- Полезно в анимациях, смене тем, бесконечных процессах.
itertools.cycle — мощный инструмент для циклических операций без лишнего кода.Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍6🔥4
class Example:
class_attr = "Hello"
@staticmethod
def static_method():
return "I'm a static method"
@classmethod
def class_method(cls):
return f"Class method: {cls.class_attr}"
print(Example.static_method()) # I'm a static method
print(Example.class_method()) # Class method: Hello
@staticmethod ведёт себя как обычная функция внутри класса, не имея доступа к атрибутам класса или экземпляра. @classmethod, наоборот, получает ссылку на класс (cls) и может изменять его атрибуты.Используйте
@staticmethod для независимых функций, а @classmethod, когда нужно работать с самим классом.Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4🔥2
RestApi работает на основе нескольких принципов. Один из них - это использование универсальных интерфейсов. Это означает, что клиенты и серверы должны использовать общие методы передачи данных, такие как HTTP-протоколы GET, POST, PUT и DELETE.
Другой принцип - это использование ресурсов. Ресурсы - это общие сущности, которые могут быть представлены в виде URL-адресов. Например, веб-сервис может представлять собой коллекцию пользователей, каждый из которых является отдельным ресурсом.
- RestApi имеет множество преимуществ. Одно из них - это возможность создания универсальных веб-сервисов, которые могут взаимодействовать с любым клиентом, который может использовать общие методы передачи данных.
- RestApi также обеспечивает гибкость и масштабируемость веб-сервисов. Это означает, что веб-сервисы могут легко добавляться и масштабироваться по мере необходимости.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥3