Можете ли вы обезопасить методы исправления для основных типов в Python?
Ruby может добавлять методы в класс Number и другие основные типы, чтобы получить такие эффекты:
1.should_equal(1)
Но похоже, что Python не может этого сделать. Это правда? И если так, то почему? Это как-то связано с тем, чтотип Можно'быть изменены?
Обновление: вместо того, чтобы говорить о различных определениях исправлений обезьян, я хотел бы просто сосредоточиться на примере выше. Я уже пришел к выводу, что это невозможно сделать, поскольку некоторые из вас ответили. Но я хотел бы получить более подробное объяснение того, почему этого нельзя сделать, и, возможно, какая функция, если она доступна в Python, позволит это сделать.
Чтобы ответить на некоторые из вас: причина, по которой яможет быть хочу сделать это просто эстетика / удобочитаемость.
item.price.should_equal(19.99)
Это больше похоже на английский и ясно указывает, какое значение является проверенным, а какое - ожидаемым, как предполагается:
should_equal(item.price, 19.99)
Эта концепция является то, чтоRspec и некоторые другие платформы Ruby основаны на.