簡體   English   中英

基於短路的Python輸入

[英]Python input based on short circuit

我熟悉Python短路(AND,OR,NOT),但這對我來說很奇怪。

這里是:

以下Python代碼行是做什么的?

day = input("What day do you want [Tuesday]: ") or "Tuesday"

我不確定從用戶那里得到什么以及它如何有用。

在Python 3,這將設置day到什么類型的用戶,除非用戶只需點擊進入。 在這種情況下, input將返回空字符串,其真值是false,因此將改用"Tuesday" 您可以在這里看到:

>>> "" or "Tuesday"
'Tuesday'

如果用戶輸入為非空,則其真值將為true並將其用作or表達式的結果:

>>> "Monday" or "Tuesday"
'Monday'

如果input()調用的結果為false(在這種情況下為空字符串),則day將收到默認值'Tuesday' 如果用戶在按Enter鍵之前根本沒有輸入任何字符,則將day設置為他們輸入的字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM