如何指定函数传入的值的类型
时间: 2024-09-12 17:06:48 浏览: 34
在Python中,你可以使用类型注解(type hints)来指定函数参数的期望类型。这是从Python 3.5开始引入的特性,允许开发者在函数定义时声明参数类型和返回值类型。类型注解可以帮助开发者理解代码的意图,同时也方便了静态类型检查工具(如mypy)的工作。下面是一个简单的例子:
```python
from typing import List, Dict, Tuple
def greet(name: str) -> str:
return f"Hello, {name}"
def process_numbers(numbers: List[int]) -> List[int]:
return [num * 2 for num in numbers]
def process_user_data(data: Dict[str, str]) -> Tuple[str, str]:
first_name, last_name = data['first'], data['last']
return (first_name, last_name)
```
在这些例子中,`greet`函数期望`name`参数是一个字符串,并返回一个字符串。`process_numbers`函数接受一个整数列表,进行处理后返回一个整数列表。`process_user_data`函数接收一个字典,其键和值都是字符串,并返回一个包含两个字符串的元组。
除了类型注解之外,你可以通过编写函数内部逻辑来进一步强制参数类型。如果传入的参数类型不正确,你可以抛出一个`TypeError`异常:
```python
def greet(name):
if not isinstance(name, str):
raise TypeError("name must be a string")
return f"Hello, {name}"
```
这段代码中,`greet`函数会检查`name`是否为字符串类型,如果不是,会抛出`TypeError`。
阅读全文