gpt4 book ai didi

python - 将选项传递给函数

转载 作者:太空狗 更新时间:2023-10-30 00:47:27 28 4
gpt4 key购买 nike

在 ruby​​ 中,编写一个可以像这样调用的函数是惯用的:

open_database(:readonly) // or
open_database(:readonly, :remote, :force)

在这些情况下,:readonly 是“符号”,用作“标志”来修改 open_database 调用的行为。

我们将在 ruby​​ 中按如下方式实现:

def func(*params)
if params.include? :readonly
puts "readonly"
end
end

在 Python 中执行此操作的惯用方法是什么?

最佳答案

Python 上没有这样的语法糖。


执行此操作的正确方法是使用默认关键字参数:

def open_database(readonly=False, remote=False, force=False):
# ...

然后您可以:

open_database(readonly=True, force=True) # remote=False (default)

如果你想尽可能接近ruby,你可以做参数解包:

def specify_flags(*args):
return {x: True for x in args}

open_database(**specify_flags('readonly', 'force')) # Same as readonly=True, force=True

关于python - 将选项传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50272647/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com