3
我一直在瀏覽python中初始化類的幾個帖子(例如Ref1,Ref2,Ref3),但我無法找到是否有一種乾淨的方式來需要某些輸入。如果不包含參數,那麼最好的方法是創建一個命名參數並引發一致的異常?是否有一種優雅的pythonic方法來要求類構造函數的輸入?
我想要有一個ArgumentParser
中add_argument()
方法的require
參數的類似功能。
我一直在瀏覽python中初始化類的幾個帖子(例如Ref1,Ref2,Ref3),但我無法找到是否有一種乾淨的方式來需要某些輸入。如果不包含參數,那麼最好的方法是創建一個命名參數並引發一致的異常?是否有一種優雅的pythonic方法來要求類構造函數的輸入?
我想要有一個ArgumentParser
中add_argument()
方法的require
參數的類似功能。
像這樣的東西應該工作:
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")