python 函数如何指定参数类型?

  • Post category:Python

Python函数可以指定参数类型,这可以确保代码的正确性和可读性。以下是具体步骤:

  1. 安装第三方库 typing:
pip install typing
  1. 在函数定义处声明函数参数所需的类型:
from typing import TypeVar, Iterable

T = TypeVar('T')

def my_func(arg1: int, arg2: str, arg3: Iterable[T]) -> bool:
    # 函数体
    pass

以上的代码定义了一个名为 my_func 的函数,带有三个参数:一个整数 arg1,一个字符串 arg2,一个类型为 Iterable[T] 的可迭代对象 arg3 要求其元素都属于类型 T,并且函数返回一个布尔值。

  1. 使用类继承来指定参数类型。例如,可以创建一个 Animal 类,然后让参数只接受该类或其子类的实例:
class Animal:
    def __init__(self, name: str):
        self.name = name

class Dog(Animal):
    def __init__(self, name: str, breed: str):
        super().__init__(name)
        self.breed = breed

def my_func(animal: Animal):
    # 函数体
    pass

以上 my_func 函数接受一个类型为 Animal 的对象,并且可以用 Dog 的实例作为参数传递。

总之,Python 函数可以指定参数类型,这可以通过导入 “typing” 库并在函数定义时使用类型提示或通过使用类继承。