我有一個argparser有一個詳細的標誌,我試圖儘量減少我得寫詳細的輸出量。速記'如果'拋出一個語法錯誤
這按預期工作:
#!/usr/bin/python
verbose=True
print(verbose)
if verbose:
print("verbose output")
輸出:
$ ./example.py
True
verbose output
但
#!/usr/bin/python
verbose=True
print(verbose)
print("verbose output") if verbose
拋出一個錯誤:
$ ./example.py
File "./example.py", line 5
print("verbose output") if verbose
^
SyntaxError: invalid syntax
我以爲python的語法是statement if condition else condition
?我犯了一些錯誤嗎?
$ python -V
Python 3.6.2
沒有速記'如果test'語法,沒有。只有*條件表達式*' if else '。 –
它具有'表達式,如果條件else表達式'語法。它不具有'語句,如果條件'。 – deceze
你不應該在這裏使用,不需要'縮短'任何東西。如果必須,請將該表達式放在與'if'測試相同的行:'if verbose:print('verbose output')'。 –