有没有更好的方法在python中编写这些行?例如使用for
:
user.name = form.name.data
user.username = form.username.data
user.password = form.password.data
user.email = form.email.data
答案 0 :(得分:4)
for el in ('name', 'username', 'password', 'email'):
setattr(user, el, getattr(form, el).data)
无论如何根据python zen'简单比复杂更好',看不出代码有什么问题
答案 1 :(得分:2)
不是真的。那些正在执行单独的任务,因此每个语句都有自己的意义。如果你发现自己重复这样做,你可以将它包装在一个函数中,如果你想要
def setUserData(user, form):
user.name = form.name.data
user.username = form.username.data
user.password = form.password.data
user.email = form.email.data
然后,只要你想做这些操作,你就可以说
>>> setUserData(user, form)