0
如何循環class
定義體內的初始化屬性?在`class`定義體內循環初始化屬性
假定的類:
class WakeUp:
def __init__(self,date,time):
self.date = str(date)
self.time = str(time)
self.brush_teeth = brushteeth
.
.
def get_wakeup_activities(self):
return 'date: ' + self.date + 'time' + self.time. + 'brush_teeth', + self.brush_teeth
我打算避免冗長的打字,期望重構方法爲:
def get_wakeup_activities(self):
act_list =()
for attr in attrs:
act_list.append(attr)
return 'date: %s time:%s brush_teeth: %s' %tuple(act_list)
當該方法被調用時,輸出
date:2017-10-17 time:11:50:27 ...
或更多摘要:
def get_wakeup_activities(self):
wakeup_dict = {k:v for k, v in self.attrs}
return wakeup_dict
雖然調用命令:
today_wakeup = Wakeup
today_wakeup.get_wakeup_activities()
輸出:
{date:2017-10-17, time:11:50:27,....}
側面說明:如果你打算爲簡潔(避免類型'self'一遍又一遍)你可以使用現代字符串格式來實現此目的,將字符串版本更改爲'return'date:{0.date} time:{0.time} brush_teeth:{0.brush_teeth}'。format(self)'仍然重複標題和名稱,但它是一些東西。 – ShadowRanger
一個實用的微調@ ShadowRanger –