美文网首页Python基础系列
Python 函数参数有冒号 声明后有-> 箭头 返回值注

Python 函数参数有冒号 声明后有-> 箭头 返回值注

作者: 我爱学python | 来源:发表于2019-08-05 15:59 被阅读33次

在python3.7 环境下 函数声明时能在参数后加冒号,如图:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
1 def f(ham: str, eggs: str = 'eggs') -> str :
2     print("Annotations:", f.__annotations__)
3     print("Arguments:", ham, eggs)
4     return ham + ' and ' + eggs
5 
6 print(f("test","abc"))

可能有疑问,python不是动态类型语言 ,难不成还能指定参数类型?

来看一下打印结果:

img

但同时也确实能传其他类型的值 如:f("test",123)

那结果如何呢? 如下:

img

当然会报错了啊,返回值是一个字符串,int型不能参与字符串拼接,那参数后写一个:str 和 ->str是什么意思呢?

在官方文档指明.annotations是函数的参数注释和返回值注释:

所以打印出Annotations: {'ham': <class 'str'>, 'eggs': <class 'str'>, 'return': <class 'str'>}

其实并没有指定类型 只是写函数的人提醒用函数的人最好传什么类型的参数,因为最后需要两个参数进行字符串拼接;

当然,也可以直接写字符串提醒:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def f(ham: "传一个字符串", eggs: str = 'eggs') -> str :
    print("Annotations:", f.__annotations__)
    print("Arguments:", ham, eggs)
    return ham + ' and ' + eggs

print(f("test",123))

而声明函数后那个箭头:"->" 是返回值的注释,-> str 意思即是提醒函数使用者返回值会是一个str型

相关文章

  • Python 函数参数有冒号 声明后有-> 箭头 返回值注

    在python3.7 环境下 函数声明时能在参数后加冒号,如图: 可能有疑问,python不是动态类型语言 ,难不...

  • Python 函数参数有冒号 声明后有-> 箭头

    在python3.7 环境下 函数声明时能在参数后加冒号,如图: 可能有疑问,python不是动态类型语言 ,难不...

  • Python中的函数注释:参数有冒号,声明后有-> 箭头

    我在查看python的fixture源码时发现 fixture的方法定义形式如下: def fixture( ...

  • 箭头函数

    1,箭头函数定义 2,Es6 中箭头函数参数与返回值简写 补充 3,箭头函数中 this 指向 注:箭头函数中的t...

  • Python定义函数加入箭头->

    Python 函数参数有冒号 ->声明 type hint, 即类型提示。 官方网站:https://www.py...

  • 箭头函数

    廖雪峰-箭头函数 箭头函数 基础语法: (参数1, 参数2, …, 参数N) => { 函数声明 }//相当于:(...

  • ES6函数

    箭头函数的声明 ES6 箭头函数声明注意事项: 如果箭头函数不需要参数 或者 需要多个参数,就要使用圆括号代表参数...

  • Python vi函数

    Python的 vi中 函数分为四种: 无参数,无返回值的函数 无参数,有返回值的函数 有参数,无返回值的函数 有...

  • Kotlin基础之普通函数

    函数的声明 kotlin中声明函数的格式是:fun 函数名称(参数) :返回值{} 一、有返回值的函数声明 二、...

  • 6_函数

    函数参数与返回值 无参数函数 多参数函数 无返回值函数 省略返回箭头(->)和返回类型。 注意严格上来说,虽然没有...

网友评论

    本文标题:Python 函数参数有冒号 声明后有-> 箭头 返回值注

    本文链接:https://www.haomeiwen.com/subject/jbpmdctx.html