Zen of Python
20.1K subscribers
1.22K photos
161 videos
32 files
3.17K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
trae-agent | LLM в CLI

Если Господь Бог вас наказал и вы кодите прямо в командной строке, а на дворе 2025-й, то лучше делать это с LLM. Библиотека позволяет фиксить, дописывать и читать логи вместе с вашей любимой нейронкой, понимающей естественный язык.

#инструмент
@zen_of_python
🤗 — Если за идею хочется приобнять создателей
🤗9👎21🙈1
Вопросы подписчиков

Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:

— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;

#вопросы_новичков
@zen_of_python
1🔥1
Если из компьютера вылез питончик, то вы кодите правильно. Это пасхалка от PSF

#кек
@zen_of_python
5👀4😱2
Forwarded from IT Юмор
Импортируешь логгер, чтобы написать logger.warn("here")

@ithumor
10😍2
Вы точно знаете отличия между or и and?

Каким будет результат выражения:


5 or 0


Большинство людей уверены, что Python вернёт True. Но если запустить код, мы увидим 5. Это происходит, потому что Python возвращает само значение операнда, если оно Truthy / Falsy.


Truthy / Falsy

Любой объект Python — либо «трушный», либо «ложный»:

— Falsy: 0, "", [], {}, None, 0.0
— Truthy: всё остальное

Оператор bool(obj) конвертирует объект в логическое значение, но сами and / or возвращают ненулевые сущности: последний вычисленный операнд.


Поведение or

Оператор возвращает первый Truthy операнд, если таковой есть; иначе — последний Falsy.


5 or 0 # → 5 (первый truthy)
0 or 7 # → 7 (второе значение, truthy)
0 or '' or None # → None (все falsy, возвращается последний)


Идея: достаточно одной истины, и дальше Python не продолжает (Short‑Circuit Evaluation).


Поведение and

Оператор возвращает первый Falsy операнд, если он встретится; иначе — последний Truthy.


5 and 0 # → 0 (первый Falsy)
5 and 7 # → 7 (оба Truthy, возвращаем последний)
0 and 5 # → 0 (первый Falsy — возвращён)


Логика: and требует, чтобы обе стороны были истинными, иначе выражение — ложь.


Приоритет not, and, or

Операторы имеют встроенный приоритет:

1. not (наивысший)
2. and
3. or (наинизший)


True or False and False # → True, т. к. это эквивалентно True or (False and False)
(not False) or True # → True, сначала выполняется not.


Рекомендации

— Используйте скобки, чтобы явно показывать порядок операций;
— Не пишите слишком длинные цепочки с and / or без промежуточных переменных;
— Именованные логические условия помогают читать код.

#основы
6👍6
uqlm | Фактчекинг ответа LLM

Проблеме галлюцинаций LLM сейчас уделяется немало внимания, и в опенсорсе тоже нашлись умельцы. Библиотека выполняет фактчекинг нагенеренного, предже чем оно отправится юзеру. На идеальное решение авторы не претендуют, потому каждому ответу присваивается скор уверенности в достоверности. Давно пора было!

Цена: бесплатно
@zen_of_python
5🎃1
9👍2👻2
Вопрос подписчика

Задает @terisht:
«2 вопроса в одном. Находил ли кто-то либы по архивации файлов на расте для python? И, если такие есть, кто-то мерил насколько они более профитны чем дефолтный zipfile питонячий?»

NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.

#обсуждение
@zen_of_python
👍1
ИИ против разума: битва за навыки программиста

Сегодня многие программисты всё чаще доверяют работу LLM, теряя навык писать даже базовые конструкции вроде простого цикла. Но большие языковые модели не понимают реальную архитектуру проекта, а лишь подбирают правдоподобный текст. В итоге ключевая ответственность — понимание задачи, принятие архитектурных решений и контроль качества — всё ещё остаётся за живым человеком. В статье на Tproger разобрались, как сохранить за собой гордое звание «разработчик», а не «одобрятор автокомплита».

#LLM
@zen_of_python
👍4👎3
Вопрос подписчика

Задает @Python3k:
«Что-бы такое интересно покодить? 🤔»

NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.

От админа: сейчас вам накидают неоплачиваемой работы 😆

#обсуждение
@zen_of_python
3🤗2
Вопрос подписчика

Задает @Jack_Frost13:
«Вопрос по LLM
Какие LLM можно подключить как агента, чтобы он делал работу по инструкции за меня (ML), какие модели лучше всего подойдут для этого и как это организовать?»


NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.

#обсуждение
@zen_of_python
🤔2
Byte of Python | Бесплатный учебник, ставший классикой

Сейчас лето, и при должном везении ваш работодатель слегка расслабился. Можно и книжку почитать.
«Укус питона» — известный бесплатный учебник, который можно скачать в форматах .pdf / .epub вместе с Python-скриптами прямо из репозитория автора Сварупа.

Спасибо @Chellbas за рекомендацию.
#основы
@zen_of_python
7
Жизненный цикл объекта — настоящего питониста

#кек
@zen_of_python
🔥11👍52😭2
Forwarded from IT Юмор
От перевёрнутого логотипа С++ из глаз пошла кровь...

@ithumor
😁33
vulnhuntr | Пусть уязвимости ищет LLM

Хватит уже плодить небезопасный нагенеренный код... Лучше искать с помощью ChatGPT / Cursor / Claude дыры в системах. Библиотека сканирует весь код питонического проекта и находит прорехи по типу SSRF, XSS и проч.

#инструмент
@zen_of_python
👍3
argparse: зачем нужен и при чем здесь sys.argv()?

При создании скриптов, которые запускаются из командной строки, часто возникает необходимость принимать аргументы. Чтобы эффективно разбирать и обрабатывать эти параметры, в стандартной библиотеке Python есть модуль argparse. В этом лонгриде мы покажем на примере, как его использовать, покажем взаимосвязь с sys.argv.


➡️ Какую роль играет sys.argv?

sys.argv — это список, содержащий аргументы командной строки, с которыми был запущен скрипт. Первый элемент списка sys.argv[0] — это имя самого скрипта.

Например, если вы вызовете скрипт так:


python script.py filename.txt -v


то выведется такой перечень:


import sys

print(sys.argv) # ['script.py', 'filename.txt', '-v']


Однако sys.argv — это просто список строк, и если работать с ним вручную, то придётся самостоятельно обрабатывать порядок, типы данных, проверять правильность и т.п., что может стать сложной задачей. Здесь на помощь приходит argparse. Он автоматизирует парсинг аргументов и предоставляет удобные способы проверки параметров CLI.


➡️ argparse: как с ним обращаться

argparse позволяет описать, какие параметры принимает ваш скрипт, какие из них обязательны, какие опциональны, какие могут быть флагами (включить / выключить). Он также автоматически генерирует справку и обрабатывает ошибки в вводе.

Часто бывает так, что скрипт требует передать обязательный параметр — имя файла. Это называется позиционным аргументом, так как его положение в командной строке имеет значение.


import argparse

# Создаём парсер
parser = argparse.ArgumentParser(description='Обработка файла.') # Создаем объект ArgumentParser;

# Добавляем позиционный аргумент 'filename'
parser.add_argument('filename', help='имя файла для обработки') # Добавляем описание каждого аргумента или опции

# Разбираем аргументы командной строки
args = parser.parse_args() # Разберём аргументы sys.argv

# Fргументы доступны как атрибуты: args.filename
print(f'Обрабатываем файл: {args.filename}')


Теперь, если запустить скрипт так:


python script.py example.txt


Программа выведет:


Обрабатываем файл: example.txt


Если попытаться запустить без аргумента:


python script.py


то argparse автоматически покажет сообщение об ошибке и краткую справку:


usage: script.py [-h] filename
script.py: error: the following arguments are required: filename


Документация
#основы
@zen_of_python
🙏 — Если спасибо за такой контент
Please open Telegram to view this post
VIEW IN TELEGRAM
🙏7
Forwarded from Нейроканал
Разработчики всё меньше доверяют ИИ, хоть и чаще к нему обращаются...

Stack Overflow провели большое исследование, в результате которого выяснили, что лишь 29% опрошенных считают ИИ надёжным.

Эти и другие любопытные факты — по ссылке.

#для_АйтИИ
1