关于python的新特性函数注释

2020-09-18 09:09:00
六月
来源:
https://blog.csdn.net/sunt2018/article/details/83022493
转贴 685

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


发表评论
评论通过审核后显示。