Python语言学习之Python中的函数注释
小职 2021-01-19 来源 : 阅读 665 评论 0

摘要:本文主要向大家介绍了Python语言学习之Python中的函数注释,通过具体的内容向大家展现,希望对大家Python语言的学习有所帮助。

本文主要向大家介绍了Python语言学习之Python中的函数注释,通过具体的内容向大家展现,希望对大家Python语言的学习有所帮助。

Python语言学习之Python中的函数注释

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

 

def fixture(

    fixture_function: Optional[_FixtureFunction] = None,

    *,

    scope: "Union[_Scope, Callable[[str, Config], _Scope]]" = "function",

    params: Optional[Iterable[object]] = None,

    autouse: bool = False,

    ids: Optional[

        Union[

            Iterable[Union[None, str, float, int, bool]],

            Callable[[Any], Optional[object]],

        ]

    ] = None,

    name: Optional[str] = None,

) -> Union[FixtureFunctionMarker, _FixtureFunction]:

我顿时有些凌乱,不知这是什么东东,经过各种网上查找资料,发现这是Python 3.X新增加的一个特性,叫作函数注释 Function Annotations。它的用途虽然不是语法级别的硬性要求,但是顾名思义,它可作为函数额外的注释来用。他的用法也很简单。

 

在python中定义普通的函数,方法如下:

 

def f1(a,b):

    return a+b

通过函数注释,方法定义如下:

 

def f2(a: "str类型参数a", b: "str类型参数b") -> str:

    print("Annotations:", f2.__annotations__)

    return a+b

其中

 

a: "str类型参数a"代表了对参数a的说明

b: "str类型参数b"代表了对参数b的说明

-> str:代表了函数的返回值

f2.__annotations__查看函数的注释说明

运行 print(f2('aa','bb')),输出:

 

 

Annotations: {'a': 'str类型参数a', 'b': 'str类型参数b', 'return': }

aabb

 

那么定义了函数的参数类型和返回值类型我们是否就不可以对其进行修改了呢,让我们做如下尝试:

 

print(f2(1,2)),输出:

 

Annotations: {'a': 'str类型参数a', 'b': 'str类型参数b', 'return': }

可见, Function Annotations它的作用仅仅是为函数进行注释来用,并不能指定参数类型。



关注“职坐标在线”(Zhizuobiao_Online)公众号,免费获取学习教程资料、技术就业咨询

Python语言学习之Python中的函数注释

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程