#python #python-3.x #list #built-in
Вопрос:
Я хочу добавить функции во встроенный модуль python. Например, в списке нет функции поиска. Я хочу добавить это. Есть еще несколько функций, которые я хочу добавить. Может кто-нибудь, пожалуйста, сказать мне, как я могу это сделать? Есть ли у них какой-нибудь способ, которым я могу это сделать?
Комментарии:
1. Как правило, вы не пытаетесь что-либо исправить в Python, что вводит невидимые зависимости.
2. Кстати, в нем есть
find
функцияlist
. Это называетсяindex()
3. Вероятно, было бы лучше не делать этого, а просто использовать функции как простые функции, а не методы. Вы уже думали об этом?
4. В духе комментария @Elazar рекомендуется, чтобы вы научились правильно использовать фундаментальные объекты Python
list
, прежде чем решите, что они неудовлетворительны и должны быть исправлены или расширены.
Ответ №1:
Добавление функций во встроенный модуль очень просто:
import builtins
builtins.find = my_find_function
Но встроенные классы обычно неизменяемы, поэтому их нельзя изменить.
>>> list.hello = "hello"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't set attributes of built-in/extension type 'list'