自动替换modu中每个函数的默认值

2024-09-27 09:31:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在玩easygui,我想知道如果每个方法都有这样一个参数,是否有任何方法可以自动覆盖title的参数默认值。你知道吗

例如,我现在可以做:

import easygui

oldf = easygui.boolbox
def newf(title='mytitle', *args):
    oldf(title=title, *args)
easygui.boolbox = newf

有没有更复杂、更快速的方法?你知道吗


Tags: 方法import参数titledefargseasyguimytitle
1条回答
网友
1楼 · 发布于 2024-09-27 09:31:42

你可以这样做:

import easygui
import inspect
import functools

funcs = [f for f in easygui.__dict__.values() if callable(f)]
for func in funcs:
    sig = inspect.signature(func)
    if 'title' in sig.parameters:
        newf = functools.partial(func, title='mytitle')
        setattr(easygui, func.__name__, newf)

相关问题 更多 >

    热门问题