gpt4 book ai didi

python - 强制某些设置需要可选参数

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:23 25 4
gpt4 key购买 nike

我创建了一些类,

class c:
def __init__(self, mode=False):
if mode:
force foo to require optional_parameter

def foo(self, optional_parameter=""):
print("something %s" % optional_parameter)

有没有一种方法,如果类是用 mode=True 实例化的,那么在调用该方法时所有 optional_parameter 值都是必需的,实际上不再是可选的?

最佳答案

你可以记住一个属性中的mode,然后检查是否传递了optional_parameter:

class c:
def __init__(self, mode=False):
self.mode = mode

def foo(self, optional_parameter=""):
if self.mode and optional_parameter == "":
raise RuntimeError("optional_parameter must be passed")
print("something %s" % optional_parameter)

你可以用字典解包来概括这一点:

def foo(self, **kwargs):
if self.mode and 'optional_parameter' not in kwargs:
raise RuntimeError("optional_parameter must be passed")
print("something %s" % kwargs['optional_parameter'])

我找不到针对这种情况的最佳异常(exception)情况,您可能想要创建自己的异常(exception)情况。我可以使用 RuntimeError虽然。

关于python - 强制某些设置需要可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44073170/

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