'None' is not displayed as I expected in Python interactive mode

后端 未结 4 1821
再見小時候
再見小時候 2020-12-06 13:14

I thought the display in Python interactive mode was always equivalent to print(repr()), but this is not so for None. Is this a language feature or

4条回答
  •  甜味超标
    2020-12-06 13:57

    Yes, this behaviour is intentional.

    From the Python docs

    7.1. Expression statements

    Expression statements are used (mostly interactively) to compute and write a value, or (usually) to call a procedure (a function that returns no meaningful result; in Python, procedures return the value None). Other uses of expression statements are allowed and occasionally useful. The syntax for an expression statement is:

    expression_stmt ::=  starred_expression
    

    An expression statement evaluates the expression list (which may be a single expression).

    In interactive mode, if the value is not None, it is converted to a string using the built-in repr() function and the resulting string is written to standard output on a line by itself (except if the result is None, so that procedure calls do not cause any output.)

提交回复
热议问题