繁体   English   中英

使用函数的返回值作为python中字典中的值

[英]Using the return value of a function as the value in a dictionary in python

我正在创建一个需要用户登录Web服务的python应用程序。 凭证在POST请求中作为json字典传递到服务器。 为了避免不必要地将密码保存在变量中,我认为我会执行以下操作:

json.dumps({'username': raw_input('Username: '), 'password': getpass.getpass()})

  1. 是否可以保证raw_input将在getpass之前被调用?
  2. 与先保存函数的输出然后从变量创建字典相比,此方法实际上有什么好处吗?
  3. 这是“蟒蛇般”的做事方式吗? 我的猜测不是,因为有很多东西挤在一行中,而且它的可读性可能不高。
  1. 是的,因为python像英语一样从左到右求值。 这些功能将被称为从左到右。
  2. 它稍短
  3. 不是超级pythonic但也不可怕

如果要确保在getpass()之前调用raw_input() ,我认为您应该使用如下变量:

username = raw_input('Username: ')
passwd = getpass.getpass()

user_dict = {username : passwd}

Use变量将使您的代码更具可读性,并且易于维护或调试。

首先,代码将以raw_input('Username: ') getpass.getpass()执行,然后getpass.getpass()最后做出决定。

其次,它更短,如果您的程序又小又容易,那是一个好方法。

第三,它很短,我想是Pythonic,但在工程方面并不好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM