我一直在寻找关于 python 类初始化的几篇文章(例如 Ref1 、 Ref2 、 Ref3 ),但我找不到是否有一种干净的方法来要求某些输入。如果不包含该参数,则需要命名参数并抛出一致异常的最佳方法是什么?
我希望具有与 require
中 add_argument()
方法的 ArgumentParser
参数类似的功能。
最佳答案
这样的事情应该工作:
class Foo(object):
def __init__(self, required_arg=None):
if required_arg is None:
raise ValueError("Expected non-None value for required_arg")
如果您希望任何内容成为有效值,只要明确提供了某些内容,那么您可以执行以下操作:
_Foo_default = object()
class Foo(object):
def __init__(self, required_arg=_Foo_default):
if required_arg is _Foo_default:
raise ValueError("Expected a user-supplied value for required_arg")
关于python - 是否有一种优雅且 Pythonic 的方式来要求类构造函数的输入?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21245323/