完全を期すために、その他のランダムなアイデアをいくつかご紹介します。彼らがあなたのために働くなら、それらを使ってください。それ以外の場合は、おそらく何か他のものを試す方が良いでしょう。
辞書でこれを行うこともできます:
>>> x = {'cond1' : 'val1', 'cond2' : 'val2'}
>>> y = {'cond1' : 'val1', 'cond2' : 'val2'}
>>> x == y
True
このオプションはより複雑ですが、便利な場合もあります。
class Klass(object):
def __init__(self, some_vars):
#initialize conditions here
def __nonzero__(self):
return (self.cond1 == 'val1' and self.cond2 == 'val2' and
self.cond3 == 'val3' and self.cond4 == 'val4')
foo = Klass()
if foo:
print "foo is true!"
else:
print "foo is false!"
それがあなたのために働くならDunno、しかしそれは考慮すべきもう一つのオプションです。ここにもう一つの方法があります:
class Klass(object):
def __init__(self):
#initialize conditions here
def __eq__(self):
return (self.cond1 == 'val1' and self.cond2 == 'val2' and
self.cond3 == 'val3' and self.cond4 == 'val4')
x = Klass(some_values)
y = Klass(some_other_values)
if x == y:
print 'x == y'
else:
print 'x!=y'
最後の2つはテストしていませんが、それがあなたがやりたいことであるなら、コンセプトはあなたを動かすのに十分でなければなりません。
(そして、記録のために、これが1回限りのものである場合、おそらく最初に提示した方法を使用する方がよいでしょう。多くの場所で比較を行っている場合、これらの方法は、それらが一種のハックであるという事実についてそれほど悪くは感じません。)
pep8
パッケージの基準を。pep8
パッケージの問題#126は、厳密にPEP8仕様に従うようにパッケージを固定についてです。この問題の議論には、ここでも見られるいくつかのスタイルの提案が含まれています。