-1
大きなコードの一部としてConversationというクラスを作成していて、ユーザーが入力したフィールドが有効であることを確認したいのです(有効でない場合は、私は、プログラムを実行すると、エラー)が、私のIS_VALID方法が機能していません。クラス内でメソッドを検証する
クラスの会話:
def __init__(self, members, size_limit, backup_policy, cloud_account_prefix='./'):
if not self.is_valid():
raise ValueError
self.members = members
self.size_limit = size_limit
self.backup_policy = backup_policy
self.cloud_account_prefix = cloud_account_prefix
self.backup_count = 0
self.size_count = 0
self.messages = []
def is_valid(self, members, size_limit, backup_policy, cloud_account_prefix):
if self.members < 2:
return False
if self.size_limit <= 10:
return False
if not path_ok(self.cloud_account_prefix):
return False
if self.backup_policy < 1:
return False
else:
return True
私が間違って何をしているのですか?
エラーはありますか?あなたはどこかでそれを呼んでいますか? – Miguel
「自己」を削除します。あなたのis_valid関数で。この時点ではまだ定義されていません。代わりに引数を直接使用してください。例:「メンバーが<2:」の場合 –
プロパティを使用して割り当て時に属性を検証しないのはなぜですか?また、より良いフィードバックを与える必要があります。なぜバリデーションに実際に*どの値と理由があるのかを示すエラーを投げないのですか? "ValueErrorがありました"とは何も教えてくれませんが、たとえば"あなたは少なくとも2つのメンバーを指定する必要があります"有用な情報です。 – jonrsharpe