
看源码的时候,经常看到:
def func(args) -> str: ... 这种写法,问问大佬们这种写法什么意思,什么时候会用到?
1 WildCat 2018 年 8 月 27 日 via iPhone |
2 stevenshuang 2018 年 8 月 27 日 via iPhone 返回类型 |
3 lincanbin 2018 年 8 月 27 日 声明返回值类型,为了解决弱类型语言中某些操蛋的问题 |
4 lincanbin 2018 年 8 月 27 日 Python 算是强类型语言,但是没有显式类型声明。 例如 a + b,如果 a 跟 b 是字符串'1',那么结果是 11。 如果 a 跟 b 是整数 1,那么结果是 2。 |
5 huangzhe8263 2018 年 8 月 27 日 python 3.5 以上新加的, 专门用来规范实现类型标注的 免得让接手的人或者半年后的自己想活剥了写代码的人的 type hint 特别是再加上 Pycharm 就更好用了 |
6 lincanbin 2018 年 8 月 27 日 在没有显式类型声明的情况下,如果你的数据来源于其他接口,很可能你不知道或者不确定它是什么类型,那么你对这个数据的操作结果,也就不可预料。 例如你计算用户完成若干个任务的返现,你从 json 接口 1 拿到{"a": "100"},从接口 2 拿到{"b": "100"}。 原来你应该结算给用户 200 块的,现在你直接 a+b,好了,你给用户返现了 100100 块。 如果你用: def add(a:int, b:int) -> int: return a + b 这个问题就解决了 |
9 frostming 2018 年 8 月 28 日 |
10 Qzier 2018 年 8 月 29 日 via iPhone 关键词 type hint |