有没有更好的方法在python中编写这些?

时间:2014-12-13 21:52:45

标签: python

有没有更好的方法在python中编写这些行?例如使用for

user.name = form.name.data
user.username = form.username.data
user.password = form.password.data
user.email = form.email.data

2 个答案:

答案 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)