本篇内容主要讲解“如何正确使用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它的作用仅仅是为函数进行注释来用,并不能指定参数类型。
到此,相信大家对“如何正确使用Python中的函数注释”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。