2012-02-26 94 views
3

我的python代碼有一個實例化對象表示國家的類。該類有一個構造函數。可以讓Python構造函數更簡潔嗎?

class Country: 
    def __init__(self, population, literacy, firms, area, populationDensity): 
     self.population = population 
     self.literacy = literacy 
     self.firms = firms 
     self.area = area 
     self.populationDensity = populationDensity 

有沒有辦法讓這段代碼更簡潔?這是我正在尋找的僞代碼。

class Country: 
    def __init__(self, population, literacy, firms, area, populationDensity): 
     # assign object these properties in one line 

謝謝。

+3

單線解決方案只能爲您節省四條線,但可能會使其更難以理解。 – 2012-02-26 01:20:46

+2

查看[這個問題](http://stackoverflow.com/questions/1389180/python-automatically-initialize-instance-variables)幾種方法,但我不建議走這條路。如果你有很多初始化參數,你認爲它不夠簡潔,你可能有太多。 – DSM 2012-02-26 01:21:41

回答

3

你可以在一行中做到這一點,但它只會使代碼更難以閱讀和遵循。這是你將如何做到這一點。

class Country: 
    def __init__(self, population, literacy, firms, area, populationDensity): 
     (self.population, self.literacy, self.firms, self.area, self.populationDensity) = (population, literacy, firms, area, populationDensity) 
+2

您可以在作業的兩邊放下括號。 – 2012-02-26 01:21:33

+0

謝謝,這有效,但我認爲我仍然按照您的建議將代碼放在多行中。 – dangerChihuahua007 2012-02-27 00:36:54

相關問題