gpt4 book ai didi

python - 如何重构 python 中的 switch case 语句?

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:55 25 4
gpt4 key购买 nike

此代码是 Google 应用引擎网络应用程序的一部分。 blow代码有什么重构思路吗?

def post(self):
user = User.all().filter("id =",self.request.get('id')).get()
for arg in self.request.arguments():
if arg == 'name':
user.name = self.request.get(arg)
elif arg == 'sex':
user.sex = self.request.get(arg)
elif arg == 'age':
user.age = self.request.get(arg)
elif arg == 'interest':
user.interest = self.request.get(arg)
elif arg == 'location':
user.location = self.request.get(arg)
elif arg == 'latitude':
user.latitude = self.request.get(arg)
elif arg == 'longitude':
user.longitude = self.request.get(arg)
user.put()
response_out_update(self, "true")

最佳答案

valid_args = set(('name', 'sex', 'age', 'interest', 'location', 'latitude', 'longitude'))

for arg in self.request.arguments():
if arg in valid_args:
setattr(user, arg, self.request.get(arg))

您可能不希望应用程序用户仅通过制作适当的 POST 请求就能够修改用户对象的某些属性。即使此处理程序仅限于管理员使用并防止 CSRF,赋予它不需要的功能也没有明显的好处,因此最好的情况是永远不会使用,最坏的情况是有人会想出如何滥用。

关于python - 如何重构 python 中的 switch case 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5529807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com