Python的新type hinting功能類型暗示允許我們鍵入暗示函數返回None
...一個函數永遠不會返回
def some_func() -> None:
pass
...或離開返回類型不確定,該PEP應該使然導致靜態分析的假設,任何返回類型是可能的:
沒有標註任何功能應被視爲具有最普遍的類型可能
但是,我該如何輸入提示函數永遠不會返回?例如,鍵入提示這兩個函數的返回值的正確方法是什麼?
def loop_forever():
while True:
print('This function never returns because it loops forever')
def always_explode():
raise Exception('This function never returns because it always raises')
既不指定-> None
也不離開返回類型不確定,似乎在這些情況下是正確的。
Julian和我大概可以被原諒,因爲在2016年7月我問這個問題時,在PEP 484中沒有注意到'NoReturn'類型,因爲它還沒有存在,直到[幾乎不會添加到PEP一年後](https://github.com/python/peps/commit/881c6bebdb79d3a51dea0a467e81abed410e5570)。不過,是的,這看起來像是現在的正確答案。 –
哇!所以這個更新對於一個三年前的文檔來說是相當新鮮的,但它缺少像[PEP 0](https://www.python.org/dev/peps/)中的「Last Modified」這樣的標題。另外,現在它給了我一個暗示,爲什麼我的IDE不能從'輸入'識別'NoReturn'類型,但在運行時卻沒有真正的問題。 – misanthrope