爲了迴應我的另一個問題,有人建議我避免在代碼中使用很長的行,並在編寫Python代碼時使用PEP-8規則。 PEP-8規則之一建議避免超過80個字符的行。我改變了很多代碼以符合這個要求,沒有任何問題。但是,按照下面顯示的方式更改以下行將破壞代碼。任何想法爲什麼?是否與return
命令後面的內容必須在一行中有關?Python代碼格式化
線長於80個字符:
def __str__(self):
return "Car Type \n"+"mpg: %.1f \n" % self.mpg + "hp: %.2f \n" %(self.hp) + "pc: %i \n" %self.pc + "unit cost: $%.2f \n" %(self.cost) + "price: $%.2f "%(self.price)
線通過使用Enter
密鑰和Spaces
適當變更:
def __str__(self):
return "Car Type \n"+"mpg: %.1f \n" % self.mpg +
"hp: %.2f \n" %(self.hp) + "pc: %i \n" %self.pc +
"unit cost: $%.2f \n" %(self.cost) + "price: $%.2f "%(self.price)
首先擺脫字符串連接並使用%s替換,這將大大縮短行。像這樣的東西。 'Car Type \ nmpg:%.1f \ n%d hp:%.2f \ npc:%i \ nunit cost:$%。2f \ nprice:$%。2f'%(self.mpg,self.hp,self .pc,self.cost,self.price),你甚至可以命名替換,使它更清晰你在做什麼。 – 2010-05-08 04:04:00
PEP建議非常差並且過時;將代碼壓縮到79列是一種很好的方法,因爲PEP示例本身可以生動地展現出一些不可讀的代碼。 120列更合理,迫使更少的行被拆分。 80列屏幕*不是一個嚴重的開發環境。 – 2010-05-08 16:53:58