首页 > 编程语言 >python-类型提示(type hinting)

python-类型提示(type hinting)

时间:2024-05-11 11:42:37浏览次数:24  
标签:return 示例 python hinting 整数 int str 类型 type

类型提示在 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 和静态类型检查工具进行代码分析和错误检测。

标签:return,示例,python,hinting,整数,int,str,类型,type
From: https://www.cnblogs.com/code3/p/18186207

相关文章

  • 华为云发布CodeArts IDE for Python,极致优雅云原生开发体验
    近日,华为云正式发布CodeArtsIDEforPython,这是一款内置华为自主创新的Python语言服务,提供智能编程、灵活调试能力的可扩展桌面开发工具,为华为云开发者提供卓越Python编码体验。Python作为一种编程语言,广泛用于Web应用程序、软件开发、数据科学和机器学习(ML)。Python以其优......
  • 逻辑斯特回归原理及Python实现
    逻辑回归(LogisticRegression),又称为logistic回归分析,是一种广义的线性回归模型,通常用于解决分类问题。虽然名字里有“回归”,但实际上它属于机器学习中的监督学习方法。逻辑回归最初用于解决二分类问题,它也可以通过一些技巧扩展到多分类问题。在实际应用中,我们通常使用给定的训......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-46-鼠标滚轮操作
    1.简介有些网站为了节省流量和资源,提高加载效率,采用的是动态加载(懒加载)的,也就是当拖动页面右侧滚动条后会自动加载网页下面的内容,不拖动就不会加载的或者通过鼠标滚轮操作。2.wheel模拟鼠标滚动wheel模拟鼠标滚动,就是通过调度一个wheel事件。(滚轮事件如果不处理可能会导致滚动,......
  • python pip的各功能工作中使用说明
    根据pip命令行出来的有如下功能。installInstallpackages.downloadDownloadpackages.uninstallUninstallpackages.freezeOutputinstalledpackagesinrequirementsformat.list......
  • Python最全的外汇、黄金、贵金属数据API接口
    1、前言Python最全的股票数据API接口、外汇数据接口、贵金属黄金数据接口在当今数字化的金融世界中,股市API、外汇API接口很重要,通过股票API、外汇API接口接口获取准确且实时的股票数据对于投资者和程序开发者来说至关重要。Python作为一种广泛使用的编程语言,提供了丰富的工具和......
  • AI已来,我与AI一起用Python编写了一个消消乐小游戏
    在数字化与智能化的浪潮中,目前AI(人工智能)几乎在各行各业中发挥了不可忽略的价值,今天让我们也来体验一下AI的威力:我通过命令,一步一步的教AI利用Python编程语言打造了一款富有创意和趣味性的消消乐小游戏……本文Python消消乐游戏源代码:https://gitee.com/obullxl/Pytho......
  • Python随机波动性SV模型:贝叶斯推断马尔可夫链蒙特卡洛MCMC分析英镑/美元汇率时间序列
    全文链接:https://tecdat.cn/?p=33885原文出处:拓端数据部落公众号本文描述了帮助客户使用马尔可夫链蒙特卡洛(MCMC)方法通过贝叶斯方法估计基本的单变量随机波动模型,就像Kim等人(1998年)所做的那样。定义模型以及从条件后验中抽取样本的函数的代码也在Python脚本中提供。  ......
  • Python入门教程(三)
    数据类型str(字符串)Python中最常用的数据类型就是字符串,其用途也很多,我们可以使用单引号‘’或者双引号“”来创建字符串。字符串是不可修改的。关于字符我们从创建、索引、切片、长度、遍历、删除、分割、清除空白、大小写转换、判断以等方面对字符串进行介绍。 Int(数字......
  • 【学习笔记】Python 装饰器
    装饰器是Python中一种非常强大的语法特性,它允许你在不改变函数代码的情况下,动态地增加功能。装饰器本质上是一个函数,它接受一个函数作为参数,并返回一个新的函数。下面是Python装饰器的基本语法:defdecorator_function(original_function):defwrapper_function(*args,*......
  • ETL中如何执行Python脚本
    Python的解读Python 是一种高级、通用的编程语言,由荷兰程序员吉多·范罗苏姆(Guido van Rossum)于1990年代初设计并发布。Python的设计哲学强调代码的可读性和简洁性,它的语法清晰且表达力强,使得开发者能够以更少的代码行数表达复杂的概念。这使得Python成为了编程入门者的理想选......