我想限制一组选项中的参数。如果调用该函数,则必须将参数限制为几个选项。 这就是我现在所拥有的
class GetFileMethod:
URL = 'url'
ATTACHMENT = 'attachment'
class MailClient
def GetFile(self,method)
MailClient.GetFile(GetFileMethod.URL) #works ok, but
MailClient.GetFile("lalala") #should raise an error
有什么建议吗?
答案 0 :(得分:2)
def GetFile(self, method):
if method not in {'url','attachment'}:
raise ValueError
我会使GetFileMethod
成为MailClient
类的一种方法,它会让生活更容易控制输入。
答案 1 :(得分:0)
将您的class MainClient
更改为: -
您需要在method
的命名空间中检查您提供的class GetFileMethod
的值,以便: -
GetFileMethod.__dict__.values()
class MailClient:
def GetFile(self, method):
if method in GetFileMethod.__dict__.values():
return 'Yes'
else:
return 'No'