Python中是否有不可变的字典类型?

2024-04-23 17:20:01 发布

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

我想定义一个函数,它将具有类似字典的参数,例如:

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()


Tags: 函数falsetrue参数字典定义mydef