Запитання з тегом «monkeypatching»


8
Що таке лачання мавп?
Я намагаюся зрозуміти, що таке патч мавп чи патч мавпи? Це щось на зразок методів / операторів, які перевантажують чи делегують? Чи має щось спільне з цими речами?

3
Коли мавпа виправляє метод екземпляра, чи можете ви викликати перезаписаний метод з нової реалізації?
Скажіть, що я мавпа, що виправляє метод у класі, як я можу викликати метод, що переосмислюється, від методу, що перекриває? Тобто щось на кшталтsuper Напр class Foo def bar() "Hello" end end class Foo def bar() super() + " World" end end >> Foo.new.bar == "Hello World"

24
Як додати властивість до класу динамічно?
Мета - створити макет-клас, який веде себе як набір результатів db. Так, наприклад, якщо запит до бази даних повертається, використовуючи вираз dict,, {'ab':100, 'cd':200}я хотів би побачити: >>> dummy.ab 100 Спочатку я думав, може, я можу це зробити так: ks = ['ab', 'cd'] vs = [12, 34] class C(dict): def …

9
Чи можу я виправити декоратор Python, перш ніж він оберне функцію?
У мене є функція з декоратором, яку я намагаюся протестувати за допомогою бібліотеки Python Mock . Я хотів би використати, mock.patchщоб замінити справжній декоратор на фіктивний декоратор обходу, який просто викликає функцію. Я не можу зрозуміти, як застосувати патч до того, як справжній декоратор оберне функцію. Я спробував кілька різних …

5
Як одна мавпа виправляє функцію в python?
У мене проблеми із заміною функції з іншого модуля на іншу, і це зводить мене з розуму. Скажімо, у мене є модуль bar.py, який виглядає так: from a_package.baz import do_something_expensive def a_function(): print do_something_expensive() І у мене є ще один модуль, який виглядає так: from bar import a_function a_function() from …

6
Мавпа виправляє клас в іншому модулі на Python
Я працюю з модулем, написаним кимось іншим. Я хотів би, щоб мавпа виправила __init__метод класу, визначеного в модулі. Приклади, які я знайшов, що показують, як це зробити, припускали, що я сам закликаю клас (наприклад, клас Monkey-patch Python ). Однак це не так. У моєму випадку клас італізується в межах функції …

7
Чи можу я додати власні методи / атрибути до вбудованих типів Python?
Наприклад, скажімо, що я хочу додати helloWorld()метод до типу дикту Python. Чи можу я це зробити? JavaScript має об'єкт-прототип, який поводиться так. Можливо, це поганий дизайн, і мені слід підкласувати об’єкт dict, але тоді він працює лише для підкласів, і я хочу, щоб він працював на будь-яких майбутніх словниках. Ось …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.