python——typing 库

Python 的 typing 库提供了丰富的类型注解支持,使得开发者可以在代码中明确表示函数参数和返回值的类型。这对于代码理解和维护、IDE 自动补全、静态类型检查工具(如mypy)等都有极大的帮助。以下是一些 typing 库中常用的和不常用(相对较少用到但仍然有用的)类型和示例:

常用类型及示例:

  1. 基本类型注解
    from typing import List, Dict, Tuple, Set, Union, Optional, Any
    
    def get_person_info(name: str, age: int) -> Tuple[str, int]:
        return (name, age)
    
    person_info = get_person_info("Alice", 30)
    
    # 可选参数和联合类型
    def process_data(data: Union[int, str, None]) -> Optional[str]:
        if data is None:
            return None
        else:
            # 处理数据并返回字符串
            return str(data)
    
    optional_result = process_data(123)
    

当然,以下是 typing 库中部分核心类型及其用途和代码示例的详细说明:

1). List

  • 作用:表示有序且可变的元素集合,每个元素都具有相同的类型。
  • 代码示例
    from typing import List
    
    def process_numbers(numbers: List[int]) -> List[int]:
        return [num * 2 for num in numbers]
    
    nums = [1, 2, 3]
    doubled_nums = process_numbers(nums)
    

在此示例中,process_numbers 函数接受一个整数列表,并返回一个所有元素翻倍的新列表。

2). Dict

  • 作用:表示键值对的集合,其中键和值可以是任意类型,通常键的类型固定而值的类型可变。
  • 代码示例
    from typing import Dict
    
    def count_word_frequency(words: List[str]) -> Dict[str, int]:
        freq_dict = {
         }
        for word in words:
            freq_dict[word] = freq_dict.get(word, 0) + 1
        return freq_dict
    
    word_list = ["apple", "banana", "apple", "orange"]
    frequencies = count_word_frequency(word_list)
    

这个例子中,count_word_frequency 函数接收一个字符串列表并返回一个字典,其中键是字符串(单词),值是对应的频率(整数)。

3). Tuple

  • 作用:表示不可变的、有序的元素序列,每个位置上的元素可以有不同的类型。
  • 代码示例
    from typing 

你可能感兴趣的:(python相关,开发语言,python)