PHP速学视频免费教程(入门到精通)
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
函数注释通过参数注释、返回值注释和Docstrings为函数提供说明,提升可读性与协作效率,支持工具进行类型检查和文档生成,但不强制运行时类型检查。
函数注释,简单来说,就是给你的Python函数加上说明书。它能让别人(也包括未来的你)更快理解这个函数是干嘛的,输入是什么,输出又是什么。但要注意,这不仅仅是写给人的,一些工具也能利用这些注释做类型检查、文档生成等等。
Python函数注释的核心在于
def语句后,参数列表的括号内,以及函数体内的特定位置。主要有两种方式:参数注释和返回值注释。
1. 参数注释 (Parameter Annotations)
直接在参数后面使用冒号
:,然后写上注释。
def greet(name: str, greeting: str = "Hello") -> str: """ 问候某人。 Args: name: 被问候者的名字。必须是字符串。 greeting: 问候语。默认为 "Hello"。 Returns: 包含问候语的消息。 """ return f"{greeting}, {name}!" print(greet("Alice")) print(greet("Bob", "Good morning"))
这里,
name: str表示
name参数期望是一个字符串。
greeting: str = "Hello"表示
greeting参数也是字符串,并且有一个默认值 "Hello"。 注意,这些注释不会强制类型检查,Python仍然是动态类型语言。
2. 返回值注释 (Return Annotations)
在参数列表的括号后,使用箭头
->,然后写上返回值的注释。
在上面的例子中,
-> str表示
greet函数期望返回一个字符串。
3. Docstrings (文档字符串)
虽然不是严格意义上的“注释”,但 Docstrings 在函数中起着至关重要的说明作用,通常用三重引号
"""Docstring goes here"""包裹。 Docstrings 应该清晰地描述函数的功能、参数、返回值,以及任何可能引发的异常。许多文档生成工具(如 Sphinx)会解析 Docstrings 来自动生成文档。
4. 组合使用
可以同时使用参数注释、返回值注释和 Docstrings,以提供最全面的函数说明。
def calculate_area(width: float, height: float) -> float: """ 计算矩形的面积。 Args: width: 矩形的宽度,必须是浮点数。 height: 矩形的高度,必须是浮点数。 Returns: 矩形的面积,浮点数。 """ return width * height
可以通过
help()函数或者
__annotations__属性来查看函数的注释。
help(greet) # 显示 greet 函数的 Docstring 和签名信息 print(greet.__annotations__) # 输出: {'name': <class>, 'greeting': <class>, 'return': <class>}</class></class></class>
mypy这样的工具来静态检查代码中的类型错误。
函数注释本身对Python代码的运行时性能几乎没有影响。因为Python解释器在运行时会忽略这些注释,除非你显式地去访问它们(例如通过
__annotations__属性)。
不可以完全代替。Python仍然是动态类型语言,即使你添加了类型注释,Python解释器在运行时也不会强制执行类型检查。但是,类型注释可以被静态类型检查工具(如
mypy)使用,在不运行代码的情况下发现潜在的类型错误。这有助于在开发阶段及早发现问题,提高代码质量。可以将函数注释看作是类型检查的一种补充手段,而不是替代品。
Python免费学习笔记(深入):立即学习
在学习笔记中,你将探索 Python 的核心概念和高级技巧!
已抢9631个
抢已抢2834个
抢已抢3201个
抢已抢5106个
抢已抢4646个
抢已抢34897个
抢