#полезное
🥺 Изменение ключей словаря
Ключи словаря являются неизменяемыми. В Python не существует прямого способа изменить ключ словаря. Однако можно использовать метод
Допустим, мы хотим заменить ключ
Результат:
Как видно, ключ "school" был заменён на "university". Учтите, что данный процесс по сути создаёт новый ключ, сохраняя исходное значение
👉 Новости 👉 База вопросов
Ключи словаря являются неизменяемыми. В Python не существует прямого способа изменить ключ словаря. Однако можно использовать метод
pop()
для изменения или создания нового ключа со значением из существующего ключа.Допустим, мы хотим заменить ключ
"school"
на "university"
в приведённом ниже словаре. Первый шаг — использовать метод pop()
для удаления старого ключа и получения его значения. Второй шаг — создать новый ключ и присвоить ему значение удалённого ключа. Смотрите код ниже:# Исходный словарь
my_dict = {'school': 'Yale', 'age': 22}
# Шаг 1: Удалить старый ключ и получить его значение
old_value = my_dict.pop('school')
# Шаг 2: Создать новый ключ с нужным именем и присвоить значение
my_dict['university'] = old_value
print(my_dict)
Результат:
{'age': 22, 'university': 'Yale'}
Как видно, ключ "school" был заменён на "university". Учтите, что данный процесс по сути создаёт новый ключ, сохраняя исходное значение
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#Собес #bash
🤔 Что означает S? в Bash?
-
-
Пример:
👉 Новости 👉 База вопросов
$?
содержит код завершения последней команды:-
0
- успешное выполнение.-
1
и другие - ошибка.Пример:
ls / nonexistent_folder
echo $? # Выведет 2 (ошибка)
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Совет по Python:
В
🟠 '%Y-%m-%d %H:%M:%S.%f' — формат строки:
> %Y — год (4 цифры)
> %m — месяц
> %d — день
> %H — часы (24ч)
> %M — минуты
> %S — секунды
> %f — микросекунды
Результат:
То есть строка успешно преобразована в объект datetime со всеми компонентами, включая микросекунды.
Это полезно, когда нужно точно работать с временными метками в логах, метриках, или временных рядах
👉 Новости 👉 База вопросов
В
datetime.strptime()
используйте "%f
" для разбора микросекундfrom datetime import datetime
dt = datetime.strptime('2024-06-18 12:34:56.789123', '%Y-%m-%d %H:%M:%S.%f')
> %Y — год (4 цифры)
> %m — месяц
> %d — день
> %H — часы (24ч)
> %M — минуты
> %S — секунды
> %f — микросекунды
Результат:
datetime.datetime(2024, 6, 18, 12, 34, 56, 789123)
То есть строка успешно преобразована в объект datetime со всеми компонентами, включая микросекунды.
Это полезно, когда нужно точно работать с временными метками в логах, метриках, или временных рядах
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😘 Нашёл годный инструмент для анализа безопасности Python-кода
Это CLI-утилита, которая автоматически сканирует исходники на уязвимости
Анализирует:
🔵 небезопасные импорты
🔵 инъекции
🔵 проблемы с сериализацией
🔵 утечки секретов и т.д.
Подходит для CI/CD пайплайнов и ревью кода.
Интеграция простая, работает быстро —> bandit
👉 Новости 👉 База вопросов
Это CLI-утилита, которая автоматически сканирует исходники на уязвимости
Анализирует:
Подходит для CI/CD пайплайнов и ревью кода.
Интеграция простая, работает быстро —> bandit
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😜 FastOpenAPI
FastOpenAPI – это библиотека для генерации и интеграции OpenAPI схем с использованием Pydantic v2 и различных фреймворков, таких как Falcon, Flask, Quart, Sanic, Starlette и Tornado.
🟠 Проект вдохновлён FastAPI и предоставляет аналогичный удобный для разработчика опыт создания API с автоматической генерацией документации.
🟠 С помощью FastOpenAPI вы можете легко определять маршруты, проводить валидацию данных и генерировать документацию в формате Swagger UI и ReDoc, что упрощает процесс разработки и поддержки API.
🟠 Быстрая интеграция с поддержкой строгой типизации через модели Pydantic делает библиотеку надёжным инструментом для построения современных веб-приложений.
🟠 FastOpenAPI распространяется под лицензией MIT, что делает его свободным для использования и модификации в коммерческих и некоммерческих проектах.
Гитхаб
👉 Новости 👉 База вопросов
FastOpenAPI – это библиотека для генерации и интеграции OpenAPI схем с использованием Pydantic v2 и различных фреймворков, таких как Falcon, Flask, Quart, Sanic, Starlette и Tornado.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#Собес #bash
🤔 Разница между одинарными и двойными кавычками в Bash
Одинарные кавычки
👉 Новости 👉 База вопросов
Одинарные кавычки
' '
предотвращают интерпретацию переменных и команд, а двойные " "
позволяют их подставлять.VAR="world"
echo 'Hello $VAR' # Выведет: Hello $VAR
echo "Hello $VAR" # Выведет: Hello world
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
#Собес #bash
🤔 Как экспортировать переменную в Bash и зачем это нужно?
Чтобы сделать переменную доступной для всех запущенных процессов, используется
Теперь эта переменная доступна в дочерних процессах, например, в другом скрипте или командной оболочке.
👉 Новости 👉 База вопросов
Чтобы сделать переменную доступной для всех запущенных процессов, используется
export
:export VAR="Hello"
Теперь эта переменная доступна в дочерних процессах, например, в другом скрипте или командной оболочке.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😬 pre-commit — ваш автоматический код-ревьюер.
Эта библиотека превращает Git-хуки в мощную систему контроля качества кода.
Вместо ручного запуска линтеров перед каждым комитом, pre-commit автоматически проверяет изменения на качество — будь то синтаксические ошибки в Python или форматирование SCSS-файлов.
GitHub
Документация
👉 Новости 👉 База вопросов
Эта библиотека превращает Git-хуки в мощную систему контроля качества кода.
Вместо ручного запуска линтеров перед каждым комитом, pre-commit автоматически проверяет изменения на качество — будь то синтаксические ошибки в Python или форматирование SCSS-файлов.
GitHub
Документация
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
👋 Совет по Python:
Использование
Метод
Хороший вопрос. Думаю, основное различие в том, что с
👉 Новости 👉 База вопросов
Использование
setdefault
Метод
setdefault()
позволяет заменить 4 строки традиционного кода, избавляя от необходимости использовать условие if и ручную инициализацию.setdefault()
чётко передаёт намерение: «Если ключ отсутствует, установить для него пустой список. Затем добавить элемент в список». Это одновременно делает код короче и понятнее Есть ли причины использовать это вместо collections.defaultdict?
Хороший вопрос. Думаю, основное различие в том, что с
setdefault
можно указывать разное значение по умолчанию при каждом вызове, тогда как у defaultdict
одно общее значение для всех отсутствующих ключей. Метод setdefault
также удобен тем, что не требует импорта =)Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
❤️🔥 Наткнулся на библиотеку art — делает ASCII-арт из текста за секунды.
Простая установка:
Пример использования:
Идеально для приветственных страничек или добавить декоративный вывод в CLI или логах
👉 Новости 👉 База вопросов
Простая установка:
pip install art
Пример использования:
from art import text2art
Art = text2art("art") # шрифт по умолчанию
print(Art)
Art_block = text2art("art", font='block', chr_ignore=True)
print(Art_block)
# Выведет крупный блок‑текст
Идеально для приветственных страничек или добавить декоративный вывод в CLI или логах
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
#Собес #bash
🤔 Как объявить переменную в Bash?
B Bash переменная объявляется без ключевого слова, просто через
Значение переменной можно получить через
👉 Новости 👉 База вопросов
B Bash переменная объявляется без ключевого слова, просто через
=
без пробелов:VAR=value
Значение переменной можно получить через
$VAR
.Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
📞 Аналогично Unix-пайпам, в Python можно строить цепочки функций, переопределяя метод
Это позволяет связывать операции так, что вывод одной функции становится входом для следующей → чисто, читаемо и удобно для композиции
Именно так LangChain реализует элегантные пайплайны вроде:
Пример:
🟠
🟠
🟠
Теперь можно обернуть любые функции в Pipe и комбинировать их в цепочку:
👉 Новости 👉 База вопросов
__or__
Это позволяет связывать операции так, что вывод одной функции становится входом для следующей → чисто, читаемо и удобно для композиции
Именно так LangChain реализует элегантные пайплайны вроде:
chat_prompt | groq_model | output_parser
Пример:
class Pipe:
def __init__(self, func):
self.func = func
def __call__(self, x):
return self.func(x)
def __or__(self, other):
return self.__class__(lambda x: other(self(x)))
Pipe
— обёртка над функцией__or__
(|) позволяет комбинировать пайпами, как в Unix__call__
делает объект вызываемым, как обычную функциюТеперь можно обернуть любые функции в Pipe и комбинировать их в цепочку:
double = Pipe(lambda x: x * 2)
square = Pipe(lambda x: x ** 2)
pipeline = double | square
print(pipeline(3)) # (3 * 2) ** 2 = 36
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😎 Я только сегодня узнал об этом трюке с GitHub
Просто введите
Такой простой способ сэкономить время
👉 Новости 👉 База вопросов
Просто введите
repo.new
в адресной строке браузера — и сразу откроется страница создания нового репозитория на GitHub.Такой простой способ сэкономить время
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🤓 Совет по Python:
Знаете ли вы, что можно задать максимальную длину списка, используя deque из модуля collections?
Класс
В приведённом примере
👉 Новости 👉 База вопросов
deque.maxlen
Знаете ли вы, что можно задать максимальную длину списка, используя deque из модуля collections?
Класс
deque
(двусторонняя очередь) из модуля collections поддерживает параметр maxlen
, который устанавливает максимальный размер очереди. Когда очередь достигает этого размера, добавление новых элементов автоматически удаляет элементы с противоположного конца, реализуя поведение "первым пришёл — первым ушёл" (FIFO) с ограничением по размеру.В приведённом примере
deque
имеет максимальную длину 3. При добавлении значения 4 удаляется 1, что делает такую структуру идеальной для реализации скользящего окна последних трёх элементов Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#Собес #bash
🤔 Что такое Bash shell?
Bash (Bourne Again Shell) - это командный интерпретатор, используемый в Unix и Linux. Он позволяет выполнять команды, автоматизировать задачи с помощью скриптов и управлять системой. Bash поддерживает переменные, управляющие конструкции (циклы, условия) и обработку командного вывода.
👉 Новости 👉 База вопросов
Bash (Bourne Again Shell) - это командный интерпретатор, используемый в Unix и Linux. Он позволяет выполнять команды, автоматизировать задачи с помощью скриптов и управлять системой. Bash поддерживает переменные, управляющие конструкции (циклы, условия) и обработку командного вывода.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😵💫 Это что игра What It Prints?
Да, это онлайн-игра‑головоломка для разработчиков и студентов, где нужно угадать, что выведет код. Простая и увлекательная: показывается фрагмент, а вы должны определить его вывод
👉 Новости 👉 База вопросов
Да, это онлайн-игра‑головоломка для разработчиков и студентов, где нужно угадать, что выведет код. Простая и увлекательная: показывается фрагмент, а вы должны определить его вывод
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👨💻 Auto PY to EXE — это open-source инструмент для упаковки Python-проектов в исполняемые файлы, который гораздо проще в использовании, чем pyfuze
Он предоставляет наглядный графический интерфейс: просто выбираешь скрипт, настраиваешь нужные параметры и нажимаешь кнопку запуска —> весь процесс упаковки проходит без необходимости возиться с командной строкой.
Дополнительно можно сохранять часто используемые настройки, отслеживать процесс в реальном времени и просматривать подробные логи.
Инструмент кроссплатформенный, поддерживает Windows, macOS и Linux, а установка через pip максимально простая:
👉 Новости 👉 База вопросов
Он предоставляет наглядный графический интерфейс: просто выбираешь скрипт, настраиваешь нужные параметры и нажимаешь кнопку запуска —> весь процесс упаковки проходит без необходимости возиться с командной строкой.
Дополнительно можно сохранять часто используемые настройки, отслеживать процесс в реальном времени и просматривать подробные логи.
Инструмент кроссплатформенный, поддерживает Windows, macOS и Linux, а установка через pip максимально простая:
pip install auto-py-to-exe
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#полезное
📞 Использование контекстного менеджера как таймера
Большинство разработчиков ассоциируют контекстные менеджеры (with-выражение) только с работой с файлами. Но на самом деле этот паттерн решает более общую задачу.
Контекстные менеджеры идеально подходят для управления любыми ресурсами, у которых есть чёткий момент начала и завершения. Например:
🔵 File I/O
🔵 Сессии логирования
🔵 Транзакции в базе данных
🔵 Сетевые и БД-соединения
🔵 Замер производительности
🔵 Управление потоками и блокировками
Вместо того чтобы вручную замерять время до и после блока кода, можно использовать контекстный менеджер — это чистое и питоничное решение.
Обычно контекстный менеджер реализуется как класс с методами
Но есть более лаконичный способ — использовать декоратор
Пример как использовать контекстный менеджер как таймер прикрепил
👉 Новости 👉 База вопросов
Большинство разработчиков ассоциируют контекстные менеджеры (with-выражение) только с работой с файлами. Но на самом деле этот паттерн решает более общую задачу.
Контекстные менеджеры идеально подходят для управления любыми ресурсами, у которых есть чёткий момент начала и завершения. Например:
with
гарантирует, что инициализация и очистка ресурса будут выполнены автоматически, даже если в блоке возникнет исключение. Это делает код чище и надёжнее.Вместо того чтобы вручную замерять время до и после блока кода, можно использовать контекстный менеджер — это чистое и питоничное решение.
Обычно контекстный менеджер реализуется как класс с методами
__enter__
и exitНо есть более лаконичный способ — использовать декоратор
@contextmanager
из модуля contextlib, чтобы писать генераторные менеджеры без лишнего шаблонного кода.Пример как использовать контекстный менеджер как таймер прикрепил
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
#Собес #networks
🤔 Какие бывают типы IP-адресов?
Существует четыре типа Р-адресов: публичные IP-адреса, частные ІР-адреса, статические IP-адреса и динамические IP-адреса. Они различаются по своей функции и поведению.
👉 Новости 👉 База вопросов
Существует четыре типа Р-адресов: публичные IP-адреса, частные ІР-адреса, статические IP-адреса и динамические IP-адреса. Они различаются по своей функции и поведению.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😊 Топ-10 распространённых магических методов в Python
👉 Новости 👉 База вопросов
__init__(self)
– Инициализация нового объекта__str__(self
) – Строковое представление__repr__(self)
– Представление для отладки__len__(self)
– Длина объекта__getitem__(self, key)
– Доступ к элементу по индексу/ключу__setitem__(self, key, value)
– Установка значения по индексу/ключу__delitem__(self, key)
– Удаление элемента по ключу__eq__(self, other)
– Проверка на равенство__add__(self, other)
– Поведение оператора сложения +
__call__(self, ...)
– Делает экземпляр вызываемым как функцияPlease open Telegram to view this post
VIEW IN TELEGRAM
❤2
#полезное
👍 Совет по Python:
Функция
Встроенная функция locals() возвращает словарь, представляющий текущую локальную таблицу символов.
Таблица символов — это структура, в которой Python хранит все имена (переменные, функции, классы и т.д.), доступные в определённой области видимости.
Когда
В примере переменные
👉 Новости 👉 База вопросов
Функция
locals()
Встроенная функция locals() возвращает словарь, представляющий текущую локальную таблицу символов.
Таблица символов — это структура, в которой Python хранит все имена (переменные, функции, классы и т.д.), доступные в определённой области видимости.
Когда
locals()
вызывается внутри функции, она возвращает словарь со всеми локальными переменными, определёнными в рамках этой функции.В примере переменные
z
и x
определены локально внутри функции. Переменная y = 20
является глобальной и не относится к области видимости my_func(). Поэтому locals() внутри my_func
не включает y
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1