zen_of_python | Unsorted

Telegram-канал zen_of_python - Zen of Python

20070

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Subscribe to a channel

Zen of Python

VSCode vs. PyCharm

Переход с первой на вторую IDE стоит совершать, по мнению админа, не в первый год разработки, а когда наступает некое плато в развитии навыка кодить. В этот момент стать лучшей версией себя поможет именно PyCharm: хоть ворнингов с подчеркнутыми словами станет больше, зато узкопрофильность шаг за шагом позволит стать вашему проекту более «ухоженным» и читаемым.

Для сомневающихся — скурпулезный разбор различий между двумя популярными питоническими IDE от фулстэк-разработчика, на русском языке и длиной в 32 минуты.

Смотреть на замедленотьюбе

#факт

@zen_of_python

Читать полностью…

Zen of Python

В Postman теперь можно создавать ИИ-агентов

Создатели Postman AI Agent Builder обещают беспрецедентно простой no-code инструмент для создания AI-ассистентов. Есть даже визуальный конструктор, графики-бенчмарки для разных LLM и возможность сдруживать разные методы и API. В роадмапе даже хостинг таких агентов.

Посадочная на Postman.com

#инструмент

@zen_of_python

Читать полностью…

Zen of Python

А недонайм никуда не девается, и число проектов растет.

#кек

@zen_of_python

Читать полностью…

Zen of Python

И не только ведь Junior, давайте будем честны

#кек

@zen_of_python

Читать полностью…

Zen of Python

Вопросы подписчиков

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

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

#вопросыновичков

@zen_of_python

Читать полностью…

Zen of Python

Квиз про args и kwargs

Небольшая англоязычная викторина с RealPython, посвященная позиционным и именованным аргументам. Состоит из 6 вопросов и займет не более 10 минут. Перед прохождением можно освежить познания с помощью статьи.

#квиз

@zen_of_python

Читать полностью…

Zen of Python

Вышел Python 3.14.0a4

Среди фичей:
«Ленивая» интепретация аннотаций (на скриншоте, см. документацию);
API языка C вместо C-подобных методов и функций;
— Депрекатнули PGP-подписи и проч.

Это ранняя версия ЯП для тестирования разработчиками.

Release Note

#факт

@zen_of_python

Читать полностью…

Zen of Python

Как читать чужой код и понимать его

Как думаете, что делает этот код?


from tests.test_catalog import run_basic_tests

if __name__ == "__main__":
run_basic_tests()


Ответ не такой, как вы думаете, смотрите статью.

#основы

@zen_of_python

Читать полностью…

Zen of Python

@zen_of_python

Читать полностью…

Zen of Python

Максимальная жиза.

@neuro_channel

Читать полностью…

Zen of Python

@zen_of_python

Читать полностью…

Zen of Python

Вопросы подписчиков

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

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

#вопросыновичков

@zen_of_python

Читать полностью…

Zen of Python

Python 1.0.0 вышел 31 год назад: с чего всё начиналось

Взгляните, как отличался язык 1.0.0 от сегодняшней «тройки»: много воды утекло, но даже тогда главная фича была та же — простой синтаксис. Сегодня язык возглавляет рейтинг TIOBE самых популярных ЯП.

#факт

@zen_of_python

Читать полностью…

Zen of Python

1. Создание генератора:


G = gen()


В этой строке создается объект генератора G, но код внутри функции gen() не начинает выполняться, пока не будет вызван next(G).

2. Первый вызов next(G):


print(next(G)) # 0


Когда вы вызываете next(G) в первый раз, генератор начинает выполнение с начала функции gen(). Внутри функции запускается цикл for и выполняется первая итерация, где i становится равным 0. Затем происходит yield i, что означает, что значение 0 возвращается, и генератор приостанавливается. Значение 0 выводится на экран.

3. Второй вызов next(G):


print(next(G)) # None 1


Теперь, когда вы вызываете next(G) во второй раз, генератор продолжает выполнение с той точки, где он был приостановлен (после yield). В этот момент выполнение доходит до X = yield i, и так как вызывается next(G) без передачи аргумента, X будет установлено в значение None. Затем срабатывает print(X), и выводится None.

Затем генератор продолжает выполнение, и значение X становится равным 1.

Читать полностью…

Zen of Python

Вопрос подписчика

Задает @Evgen_Lapot:

«Всех приветствую, не совсем новичок, но и не спец. Перейду к вопросу. Как сделать код более безопасным, кроме того, чтобы использовать переменные окружения».

@zen_of_python

Читать полностью…

Zen of Python

Функция pd.set_option() в библиотеке Pandas позволяет настраивать различные параметры отображения и поведения датафрейма, улучшая пользовательский опыт. Она позволяет изменять такие настройки, как максимальное количество отображаемых строк и столбцов, точность представления чисел, форматирование дат и времени, а также задавать бэкенд-движки при чтении файлов Excel, баз SQL и проч. Пользователи могут установить параметры как глобально, так и для конкретных сессий, что позволяет тонко настраивать визуализацию данных под свои нужды. Доступные параметры можно просмотреть с помощью pd.get_option() и pd.describe_option(), что упрощает управление настройками.

Документация

Читать полностью…

Zen of Python

pyper | Параллелизм прост

Специализирующийся на обработке данных фреймворк, подходящий для ETL-пайплайнов, Data-микросервисов и всевозможных парсеров. Создатели обещают параллелизм и интуитивно понятный API. Выходит, что это некий собрат Airflow для данных.

Репозиторий проекта

#инструмент

@zen_of_python

Читать полностью…

Zen of Python

А не полтора месяца, если ты единственный кодер на проекте.

#кек

@zen_of_python

Читать полностью…

Zen of Python

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

Победители прошлого интерактива — @antonterehov и @kirillkasparyants1.

#кек

@zen_of_python

Читать полностью…

Zen of Python

10 советов, как вырасти из джуна в Python

Неочевидная подборка рекомендаций от небезызвестного англоязычного канала ArjanCodes, где питонист делится соображениями, что же сделает из новичка мидла. Помимо привычных включений (Comprehensions), здесь еще интересно и про генераторы, типизацию и написание тестов.

#основы

@zen_of_python

Читать полностью…

Zen of Python

Квиз про README

Неожиданная, но весьма полезная тема для Python-разработчиков — верстка файла, описывающего репозиторий. Викторина рассчитана на 3-4 минуты и состоит из 5 вопросов. К ней можно подготовиться с помощью этой статьи.

#квиз

@zen_of_python

Читать полностью…

Zen of Python

PGQueuer | Автоматизация для PostgreSQL

Это минималистичная библиотека на Python позволяет создавать воркфлоу (потоки задач) по расписанию с использованием механизмов LISTEN / NOTIFY и FOR UPDATE SKIP LOCKED PostgreSQL, а также упрощать обработку больших объемов данных.

#инструмент

Репозиторий проекта

@zen_of_python

Читать полностью…

Zen of Python

Подборка лучших вымышленных обложек в стиле o'Reilly, описывающих жизнь типичного Python-разработчика.

Полный список книг здесь.

Читать полностью…

Zen of Python

#кек

@zen_of_python

Читать полностью…

Zen of Python

Придумайте подпись к фото, но так, чтобы это относилось к языку программирования.

Победители прошлого интерактива — @kirillkasparyants1 и @insigmo.

#кек

Читать полностью…

Zen of Python

79 рублей в месяц за Ubuntu 1 Гб RAM, 8 Гб SSD, 1 ядро, публичный IP-адрес. Аптайм весьма высокий.

А вы где берете минимальные сервера? Поделитесь в комментариях.

#обсуждение

@zen_of_python

Читать полностью…

Zen of Python

По просьбе подписчика

Вопрос задает подписчик Лёша Трошин:

«Расскажите как правильно работать с аргументами функции. Если в приложении например есть КОНСТАНТА то нужно ли ее передавать в функцию или же достаточно просто вызвать из глобальной области? Кажется это называется «чистота функции», расскажите про это пожалуйста. И может рекомендации по именованию аргументов внутри - передали аргумент в функцию, внутри функции имя аргумента такое же с суффиксом делать?»

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

Есть два важных подхода к проектированию: «чистые» и «нечистые» функции. Это способ описать её взаимодействие с окружающими ее потенциальными объектами.

Чистые функции не имеют «побочных эффектов» и всегда возвращают одинаковый результат для одних и тех же входных данных. Их можно свободно вызывать в любой среде, зная, что они не повлияют на состояние программы за пределами своей области. Они изолированы от остального кода.

Пример:

a = 1
b = 2
def add(a, b):
return a + b

add(a, b)

Эта функция берет два аргумента и возвращает их сумму. Результат зависит только от входных данных, и add() не изменяет ничего вне своей области.

Нечистые функции могут изменять состояние программы (то есть объектов в ней) или иметь побочные эффекты, такие как модификация глобальных переменных, вывод данных в консоль или работа с файлами. Предсказать результат программы с такой «участницей» порой бывает очень трудно, и потому в учебниках часто рекомендуют избегать таких функций в первые годы программирования.

Пример:

def append_element(lst, element):
  lst.append(element)

my_list = [1, 2, 3]
append_element(my_list, 4)
print(my_list) # [1, 2, 3, 4]

В этом примере функция append_element() изменяет глобальную переменную my_list. Каждый раз при вызове функции, состояние программы (то есть списка) изменяется.

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

Теперь к вопросу про константы (если верно понимаю вопрос).

В этой теме критически важно помнить про изменяемые и неизменяемые объекты, поскольку это влияет на их способность меняться под действием «грязных» функций:

Изменяемые объекты — списки, словари, множества, байтовые массивы. Неизменяемые объекты — числа, строки, кортежи, фиксированные множества.

В первом примере мы возьмем переменные a и b, равные 1 и 2 соответственно, и отправить аргументами add():

a = 1
b = 2

def add(a, b):
a += 1
return a + b

print(add(a, b)) # 4
print(a) # 1

Намеренно слегка модифицируем add() и добавим увеличение a на единицу (a += 1), чтобы вы могли сравнить работу «чистой» и «грязной» функций.

В локальной области видимости add() фактически создаются другие аргументы a и b. Поэтому при вызове a вне функции мы получим исходное ее значение — единицу.

Если теперь сделать add() «грязной», то таким образом:

a = 1
b = 2

def add():
global a # Указываем, что будем использовать глобальную переменную a
a += 1 # Изменяем значение глобальной переменной
return a + b

print(add()) # Вывод: 4
print(a) # Теперь вывод: 2, так как a была изменена

Обратите внимание, что в аргументы в скобки add() при объявлении функции теперь не подаются. Если вызывать из глобальной функции a, то она фактически больше не является константой (становится переменной).

#основы

@zen_of_python

Читать полностью…

Zen of Python

По просьбе подписчика

Вопрос от подписчика @andrul1kk:

«Не совсем понимаю разницу между yield и return».

Надеюсь, с английским у вас все в порядке, ибо короткое и действительно понятное видео про разницу между операторами есть в этом трехминутном видео. Непросто понять и легко забыть (если не используешь) — yield, или оператор генераторной функции.

@zen_of_python

Читать полностью…

Zen of Python

🍾 Разыскиваются авторы статей про IT

Редакция tproger ищет авторов, которые разбираются в разных технологиях — от фронтенда до devops.

Важно писать понятно и с пользой для читателей. Мы поможем с редактированием, оплатим работу и продвинем ваши статьи на большую it-аудиторию.

Если у вас есть опыт и желание писать для разработчиков и программистов, заполняйте анкету и присоединяйтесь к tproger: https://forms.gle/nGwi92sepAqGuE1U9

#tproger

Читать полностью…

Zen of Python

fuzzywuzzy | Нечеткий поиск

Один энтузиаст переводит статьи с RealPython, и на сей раз хорошо получилось у него про FuzzyWuzzy — алгоритм нечеткого поиска, который позволяет сравнить похожие, но не полностью совпадающие строки. Лаконично и очень понятно про Расстояние Левенштейна и применение библиотеки.

#инструмент

@zen_of_python

Читать полностью…
Subscribe to a channel