Модификация параметров под args или kwargs

Опубликовано 04 May 2016 в Python • Помечено python

В Python достаточно часто интерфейсы функций частично или полностью "сворачивают" с помощью *args и **kwargs. Это вполне естественно для питонистов, но вызывает вопросы, при переходе с других языков. С самим "сворачиванием" никаких проблем нет. Сложности возникают при модификации аргументов: строятся проверки вокруг args и kwargs, вместо того, что бы "развернуть" интерфейс функции.


Продолжить чтение

Изменяемы типы в качестве параметров по умолчанию в Python

Опубликовано 11 April 2016 в Python • Помечено python

Почему изменяемые типы не рекомендуется использовать в качестве значений аргументов по умолчанию в Python? Если вы забрались по карьерной лестнице выше джуниора, то наверняка задумывались. И наверняка ответ был таким: "это приводит к странным побочным эффектам". Но я почти наверняка уверен, что только малая часть разработчиков на питоне сделала шаг дальше и разобралась почему такое поведение у языка.


Продолжить чтение

Полезняшка: responses

Опубликовано 09 March 2016 в Python • Помечено python

Если вы используете в своем проекте requests, то наверняка сталкиваетесь с проблемами тестирования. На помощь придет библиотека responses, которая позволяет делать моки ответов вызовов requests.


Продолжить чтение

В чем разница между итератором и генератором?

Опубликовано 29 February 2016 в Python • Помечено python, iterators, generators

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


Продолжить чтение

В чем главная слабость Python, как языка программирования?

Опубликовано 25 January 2016 в Python • Помечено Python

Я очень люблю Quora.com. В отличие от StackOverflow, здесь можно найти интересные обсуждения, не связанные с конкретными вопросами, а с общими ощущениями от технологий. Недавно наткнулся, к примеру, на такое обсуждение: What are the main weaknesses of Python as a programming language?


Продолжить чтение