Можете ли вы обезопасить методы исправления для основных типов в Python?

Ruby может добавлять методы в класс Number и другие основные типы, чтобы получить такие эффекты:

1.should_equal(1)

Но похоже, что Python не может этого сделать. Это правда? И если так, то почему? Это как-то связано с тем, чтотип Можно'быть изменены?

Обновление: вместо того, чтобы говорить о различных определениях исправлений обезьян, я хотел бы просто сосредоточиться на примере выше. Я уже пришел к выводу, что это невозможно сделать, поскольку некоторые из вас ответили. Но я хотел бы получить более подробное объяснение того, почему этого нельзя сделать, и, возможно, какая функция, если она доступна в Python, позволит это сделать.

Чтобы ответить на некоторые из вас: причина, по которой яможет быть хочу сделать это просто эстетика / удобочитаемость.

 item.price.should_equal(19.99)

Это больше похоже на английский и ясно указывает, какое значение является проверенным, а какое - ожидаемым, как предполагается:

should_equal(item.price, 19.99)

Эта концепция является то, чтоRspec и некоторые другие платформы Ruby основаны на.

Ответы на вопрос(13)

Ваш ответ на вопрос