Python线太长了,我怎样才能让它更具可读性?

问题描述:

for pic,fn,xoff in [(self.PNew,self.New,0),(self.POpen,self.Open,0),(self.PSave,self.Save,0),(self.POrigin,self.SetOrigin,20),(self.PFiducial,self.SetFiducial,0),(self.PLine,self.AddLine,20),(self.PPoint,self.AddPoint,0),(self.PMove,self.AddMove,0),(self.PCircle,self.AddCircle,0),(self.PCall,self.AddCall,0)]: Button(ButtonRow,image=pic,command=fn).pack(side=LEFT,padx=(xoff,0)) 
+1

换行符的圣母,长约380字符oO – delnan 2011-04-29 20:19:33

+0

我知道嘿嘿,我想知道如果也许是另一种做同样的事情的方式更短..也许拿出'自我。'的某种方式,或改变我的功能和图片在标题和使用更相似字符串..我不知道..这就是为什么我张贴在这里我想:P – Symon 2011-04-29 20:22:42

+0

通常,反斜杠可以让你手动包装一行代码。 – Nik 2011-04-29 20:23:32

items = [ 
    (self.PNew, self.New, 0), 
    (self.POpen, self.Open, 0), 
    (self.PSave, self.Save, 0), 
    (self.POrigin, self.SetOrigin, 20), 
    (self.PFiducial, self.SetFiducial, 0), 
    (self.PLine, self.AddLine, 20), 
    (self.PPoint, self.AddPoint, 0), 
    (self.PMove, self.AddMove, 0), 
    (self.PCircle, self.AddCircle, 0), 
    (self.PCall, self.AddCall, 0) 
] 
for pic, fn, xoff in items: 
    Button(ButtonRow, image=pic, command=fn).pack(side=LEFT, padx=(xoff, 0)) 
+3

可以在逗号后面使用空格(是的,所有这些)。 – delnan 2011-04-29 20:22:44

+0

@delnan:很好的电话,更新。 – recursive 2011-04-29 20:30:53

你可以把它变成一个函数...

def add_button(pic, fn, xoff=0): 
    Button(ButtonRow, image=pic, command=fn).pack(side=LEFT, padx=(xoff, 0)) 

add_button(self.PNew, self.New) 
add_button(self.POpen, self.Open) 
add_button(self.PSave, self.Save) 
add_button(self.POrigin, self.SetOrigin, 20) 
add_button(self.PFiducial, self.SetFiducial) 
add_button(self.PLine, self.AddLine, 20) 
add_button(self.PPoint, self.AddPoint) 
add_button(self.PMove, self.AddMove) 
add_button(self.PCircle, self.AddCircle) 
add_button(self.PCall, self.AddCall) 
+0

更清洁,有我想的物品清单 – Claudiu 2013-03-27 16:32:36