1. 程式人生 > 實用技巧 >【python】我OUT了,原來函式中的冒號和箭頭是這麼回事

【python】我OUT了,原來函式中的冒號和箭頭是這麼回事

翻了翻httprunner的原始碼,越看越不對勁,感覺有點看不懂語法了。

這都什麼鬼?感覺心好慌,頓時感到慚愧萬分,還好意思說自己瞭解Python呢。

趕緊了解一下,原來這叫 type hints,是python3.5時候新增的一個特性。
函式裡引數後的冒號其實是引數的型別建議,但是隻是建議,就算你不按約定傳也不會報錯。
而後面的箭頭,則是函式返回值的型別建議。
舉個栗子:

def demo(a, b):
    c = a + b
    return c


if __name__ == '__main__':
    print(demo(1, 2))

執行的結果為3。
這時候,我也可以這樣寫:

def demo(a: int, b: int) -> "int":
    c = a + b
    return c


if __name__ == '__main__':
    print(demo(1, 2))

執行結果,仍然為3。
當然了,我不按建議的型別傳參也可以,比如:

def demo(a: int, b: int) -> "int":
    c = a + b
    return c


if __name__ == '__main__':
    print(demo("你", "好"))

執行結果:你好。
我覺得這個特性有利於讓Python工程更加的規範,因為一個大工程的話,往往需要多人協助完成,這樣的話可以讓程式碼的可讀性更強。