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

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

翻了翻httprunner的源代码,越看越不对劲,感觉有点看不懂语法了。


1268169-20200629181528722-311101489.png


这都什么鬼?感觉心好慌,顿时感到惭愧万分,还好意思说自己了解Python呢。


1268169-20200629181541797-683204725.png


赶紧了解一下,原来这叫 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工程更加的规范,因为一个大工程的话,往往需要多人协助完成,这样的话可以让代码的可读性更强。

相关文章
数组外面包了引号,怎么去掉外面的引号,变成原来的数组
数组外面包了引号,怎么去掉外面的引号,变成原来的数组
60 0
|
8月前
箭头函数需要注意的地方
箭头函数需要注意的地方
38 1
面试官:箭头函数和普通函数的区别?箭头函数的this指向哪里?(二)
面试官:箭头函数和普通函数的区别?箭头函数的this指向哪里?(二)
|
8月前
|
自然语言处理 前端开发 算法
箭头函数与普通函数:谁更胜一筹?
箭头函数与普通函数:谁更胜一筹?
箭头函数与普通函数:谁更胜一筹?
|
人工智能 C语言
C语言第十八弹---多个字符从两端移动向中间汇聚
C语言第十八弹---多个字符从两端移动向中间汇聚
|
程序员 Serverless Python
Python函数参数中的冒号与箭头
Python函数参数中的冒号与箭头
382 1
|
数据安全/隐私保护 Python
一日一技:一个括号两种意思,正则表达式奇怪的小括号
一日一技:一个括号两种意思,正则表达式奇怪的小括号
91 0
比较俩个数字的大小
比较俩个数字的大小
152 0
比较俩个数字的大小