Как разрешить конфликт имен между определенной функцией и параметром в другой функции?
Мне сложно найти лучший способ разрешить конфликт имен. Вот суть того, что у меня передо мной:
def clean(): # do some cleaning stuff def build(clean=True): if clean: clean()
К сожалению.
По нескольким причинам я не хочу менять API здесь. Какова наилучшая стратегия разрешения этого конфликта? Пока я делаю:
def clean(): # do some cleaning stuff clean_alias = clean def build(clean=True): if clean: clean_alias()
Что может быть лучшим / единственным решением, не переименовавшим. Мне просто интересно, есть ли другой способ ссылаться на clean
, находящуюся во внешнем пространстве, внутри тела функции?
- Quirky output python
- Насколько важно использовать короткие имена для пакетов и модулей Python?
- В Python почему меньше (1)?
- Проверьте, существует ли элемент списка в строке
- Как связать cn в ssl cert pyOpenSSL verify_cb сгенерированным сокетом
Пытаться:
globals()['clean']()
глобалы ()
Возвращает словарь, представляющий текущую глобальную таблицу символов. Это всегда словарь текущего модуля (внутри функции или метода, это модуль, где он определен, а не модуль, из которого он вызывается).
Попробуйте добавить аргумент по умолчанию, который связывает глобальную функцию clean
с локальной переменной.
def build(clean=True, cleanFn=clean): if clean: cleanFn()
- Есть ли библиотека, подобная pymedia, но более обновленная?
- Получить и установить активную строку в QTreeview программно (PyQt)
- App Engine OAuth2.0 разрешил работу cron для анализа Google Sheet
- Печать элементов списка на выделенных линиях в Python
- Разрешить выполнение задачи, если она еще не запланирована с использованием сельдерея
- Python "защищенные" атрибуты
- Попытка вставить символ $ для начала и конца строки с использованием python, но я получил их только в начале
- Python – ссылочный объект в памяти по адресу
- удаление элементов из списка
- Как сохранить файл в Google Storage из URL-адреса в Google App Engine?
- создавать уникальные ссылки permenant на основе идентификатора пользователя