我想定义一个函数,它将具有类似字典的参数,例如:
def my_func(params={'skip': True}):
print(params['skip'])
params['skip'] = False
但是,如果使用可变字典dict()
,则只会为函数创建一次。对该词典所做的修改将在下一次调用中出现
my_func() # prints True
my_func() # prints False
目前我唯一的想法是使用键/值对的元组,它可以转换成字典,而不是提供类似字典的数据
def my_func(params=(('skip', True))):
params = dict(params)
print(params['skip'])
params['skip'] = False
但是,我真的希望避免这种显式转换为字典。
我的问题是dict()
是否有一个不可变的字典替代tuple()
替代list()
这将避免使用默认的
params
共享相同的dict
(这似乎是您的问题):相关问题 更多 >
编程相关推荐