@classmethod def today(cls): t = time.localtime() return cls(t.tm_year, t.tm_mon, t.tm_mday)
驗證后發現這個方法還是不方便
外部並不會認為它是一個構造函數,在這個函數里調用類的私有函數,會報錯要求先實例化
可以利用可變參數的方法實現兩種構造:
def __init__(self,fn,h,h2=-1.000): self.height = h self.fuzzy_number = fn self.height2 = h2 if self.height2 == -1.000: self.cacuPerimeters2() self.cacuArea2() else: self.cacuPerimeters() self.cacuArea()