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 –