python我OUT了,原来函数中的冒号和箭头是这么回事

Posted 把苹果咬哭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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工程更加的规范,因为一个大工程的话,往往需要多人协助完成,这样的话可以让代码的可读性更强。

以上是关于python我OUT了,原来函数中的冒号和箭头是这么回事的主要内容,如果未能解决你的问题,请参考以下文章

Python定义函数加入箭头->

python中函数参数列表中使用的 冒号是干啥用的

python函数原型定义那行有个箭头是啥语法?比如

JAVA中冒号 : 的用法

js 双冒号(::)运算符

js 双冒号(::)运算符