python3的新特性中有函数这样定义:
def lengthOfLongestSubstring(self, s: str) -> int:
简单理解为
s:str中的s还是你要传的形参这个没有变,str为该形参的注释,意思是告诉
你传入的s应该是个字符串,当然这里重点理解一下注释二字,也就是说python仍然是动态赋值类型语言,这里虽然告诉你s应该是字符串,但是你传一个int进去,你的代码也是可以正常运行(前提是代码内部能正常处理该类型),只不过如果你使用的IDE是pycharm这种的,会产生一些警告,而且这样的话注释也变的没有意义了。而
后面的-> int是return返回值的类型注释,告诉你
这个函数返回的是一个int类型,当然和参数注释一样,仅仅是注释。(官方文档PEP 3107 -- Function Annotations)
def f(d:dict)->dict: return {**d}
参考: https://blog.csdn.net/finalkof1983/article/details/87943032
https://blog.csdn.net/sunt2018/article/details/83022493