python - 正确命名变量类型
问题描述
对于一个项目,我必须使用列表、元组甚至元组列表(例如顶点数组)等等。在编写方法、类时,我想指定其变量的类型。例如:
def Example_Method(self, name: str, age: int):
return name + str(age)
或者
class Example_Class:
def __init__(self, cents: int):
self.euros: float = cents / 100
对于基本类型,一切都很好而且很干净,但是一个浮点数列表、字符串元组甚至列表列表或元组列表如何命名。已搜索信息,但找不到或不知道如何正确命名。
解决方案
对于这一切,有优秀的typing
图书馆
在你的情况下,你可以
from typing import List, Tuple
然后您可以键入提示变量,例如,
age: List[float] = [28.2, 78.9, 40.5]
names: Tuple[str, str, str] = ('Simon', 'Alice', 'Bob')
等等。该库非常灵活。例如,对于字典,它还允许您分别指定键和值的类型。如果您阅读文档,它将向您展示如何输入提示,甚至是非常复杂的内容。值得注意的是,从 Python 3.9 开始,该库的大部分功能都已合并到 Python 语法中。因此,除非您需要typing
用于复杂情况的库(例如,您需要输入提示 a Callable
,即一个函数,或者您需要使用Union
等指定多种可能的类型),否则您只需在 python 中输入提示内容,因此上面的示例将变为:
age: list[float] = [28.2, 78.9, 40.5]
names: tuple[str, str, str] = ('Simon', 'Alice', 'Bob')
无需导入任何库。您仍然需要typing
Python 3.8 及更低版本的库。
推荐阅读
- entity-framework - 如何添加实体框架列值取决于其他列值?
- php - PHP没有通过FormData上传文件
- r - 绘制 ARIMA 模型时,日期未显示在 ggplot 的 x 轴上
- c# - 如何检查字符串列表中是否存在项目,如果存在,获取其索引
- php - PHP 与狡猾的语法相呼应?
- javascript - 如何在 React 中移除异步组件?
- python - Cython 中的 cdef extern 自定义类型
- sql-server - SQL中的多个Declare语句
- java - 使用java将键盘输入重定向到另一个进程
- angular - Dockerize 一个 Angular 库