我在查看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
其中
运行 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它的作用仅仅是为函数进行注释来用,并不能指定参数类型。
微搭低代码已上线 「分模块混合开发」 能力。 用户可以在可视化编辑应用的基础上...
域名 购买多少钱一年?域名购买的价格,主要取决于购买什么后缀的域名,不同域名...
租用郑州服务器的价格受线路,带宽,ip,耗电量等因素的影响,其中带宽是影响价...
11月11日-12日,由中国企业联合会、中国企业家协会主办的“2020中国智慧企业发展...
客户需求 佳能以高品质相机与影像装置举世闻名,但欧洲佳能不只是制造商,更想将...
在互联网发展成熟的今天,越来越多的企业选择利用互联网为企业创造价值,为了能...
自己的 域名 过期了,想要第一时间抢注回来怎么办?不知道过期的域名什么时候拍...
现在随着网站规模越做越大,越来越多的人在选择服务器的时候开始考虑使用 高防服...
Seata 1.4.2 正式发布。Seata 社区向所有打工人致敬,祝大家有一个愉快的假期。 ...
用服务器怎么挂机器人?以往,大家大多使用个人电脑来做作为挂机使用,这不仅仅...