簡體   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