日日行,不怕千万里;常常做,不怕千万事|

__username

园龄:2年4个月粉丝:12关注:2

📂python
🔖Python
2024-05-11 11:38阅读: 37评论: 0推荐: 0

python-类型提示(type hinting)

类型提示在 Python 3.5 及更高版本中引入,能够让代码更具可读性和可维护性,并帮助静态类型检查工具进行代码分析。以下是关于类型提示的一些详细介绍和示例:

类型提示概述

  1. 基本语法
    • 函数参数类型提示:def function_name(param: type) -> return_type:
    • 返回值类型提示:def function_name(...) -> return_type:
  2. 常见类型提示
    • int:整数
    • float:浮点数
    • str:字符串
    • bool:布尔值
    • list:列表
    • tuple:元组
    • dict:字典
    • set:集合
    • Union:联合类型(例如 Union[int, str] 表示可以是整数或字符串)
    • Optional:可选类型(例如 Optional[int] 表示可以是整数或 None)
    • Any:任意类型

示例代码

简单的加法函数

def add(a: int, b: int) -> int:
"""
返回两个整数的和。
Args:
a (int): 第一个整数
b (int): 第二个整数
Returns:
int: 两个整数的和
"""
return a + b
# 示例使用
result = add(5, 3)
print(result) # 输出: 8

带类型提示的列表操作

from typing import List
def sum_list(numbers: List[int]) -> int:
"""
返回一个整数列表的和。
Args:
numbers (List[int]): 整数列表
Returns:
int: 列表元素的和
"""
return sum(numbers)
# 示例使用
result = sum_list([1, 2, 3, 4])
print(result) # 输出: 10

带联合类型提示的函数

from typing import Union
def display_value(value: Union[int, str]) -> str:
"""
返回输入值的字符串表示形式。
Args:
value (Union[int, str]): 整数或字符串
Returns:
str: 输入值的字符串表示
"""
return str(value)
# 示例使用
print(display_value(42)) # 输出: '42'
print(display_value("hello")) # 输出: 'hello'

带可选类型提示的函数

from typing import Optional
def greet(name: Optional[str] = None) -> str:
"""
返回问候语。如果提供了名字,则包含名字。
Args:
name (Optional[str]): 可选的名字
Returns:
str: 问候语
"""
if name:
return f"Hello, {name}!"
else:
return "Hello, stranger!"
# 示例使用
print(greet("Alice")) # 输出: 'Hello, Alice!'
print(greet()) # 输出: 'Hello, stranger!'

带复杂数据结构的函数

from typing import Dict, List
def process_data(data: Dict[str, List[int]]) -> int:
"""
处理包含字符串键和整数列表值的字典,并返回所有整数的总和。
Args:
data (Dict[str, List[int]]): 包含字符串键和整数列表值的字典
Returns:
int: 所有整数的总和
"""
total = 0
for key, numbers in data.items():
total += sum(numbers)
return total
# 示例使用
sample_data = {"a": [1, 2, 3], "b": [4, 5, 6]}
result = process_data(sample_data)
print(result) # 输出: 21

通过类型提示,可以使代码更加明确和清晰,并帮助 IDE 和静态类型检查工具进行代码分析和错误检测。

posted @   __username  阅读(37)  评论(0编辑  收藏  举报
历史上的今天:
2023-05-11 python读取txt文本匹配excel内容
2023-05-11 sqlite3

本文作者:DIVMonster

本文链接:https://www.cnblogs.com/guangzan/p/12886111.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起