เพียงไม่กี่ความคิดแบบสุ่มอื่น ๆ เพื่อประโยชน์ของความสมบูรณ์ หากพวกเขาทำงานให้คุณใช้พวกเขา มิฉะนั้นคุณน่าจะลองทำอย่างอื่นดีกว่า
คุณสามารถทำได้ด้วยพจนานุกรม:
>>> 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'
สองครั้งสุดท้ายที่ฉันยังไม่ได้ทดสอบ แต่แนวคิดควรจะเพียงพอที่จะให้คุณไปถ้านั่นคือสิ่งที่คุณต้องการไปด้วย
(และสำหรับบันทึกถ้านี่เป็นเพียงครั้งเดียวคุณน่าจะดีกว่าโดยใช้วิธีที่คุณนำเสนอในตอนแรกถ้าคุณทำการเปรียบเทียบในหลาย ๆ ที่วิธีการเหล่านี้อาจช่วยให้อ่านง่ายขึ้น คุณไม่รู้สึกแย่เกี่ยวกับความจริงที่ว่าพวกเขาเป็นพวกแฮ็ค)
pep8
เกณฑ์ของแพ็คเกจpep8
แพคเกจรุ่น # 126เป็นเรื่องเกี่ยวกับการแก้ไขแพคเกจที่จะปฏิบัติตามอย่างเคร่งครัดข้อมูลจำเพาะ PEP8 การสนทนาสำหรับปัญหารวมถึงคำแนะนำสไตล์ที่เห็นที่นี่