加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Python中的函数说明:参数有冒号,声明后有- 箭头

发布时间:2021-06-01 23:03:08 所属栏目:编程 来源:互联网
导读:我在查察python的fixture源码时发明 fixture的要领界说情势如下: deffixture( fixture_function:Optional[_FixtureFunction]=None, *, scope: Union[_Scope,Cal

我在查察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它的浸染仅仅是为函数举办注释来用,并不能指定参数范例。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读