首页 > 解决方案 > 正确命名变量类型

问题描述

对于一个项目,我必须使用列表、元组甚至元组列表(例如顶点数组)等等。在编写方法、类时,我想指定其变量的类型。例如:

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

对于基本类型,一切都很好而且很干净,但是一个浮点数列表、字符串元组甚至列表列表或元组列表如何命名。已搜索信息,但找不到或不知道如何正确命名。

标签: pythonlisttuples

解决方案


对于这一切,有优秀的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')

无需导入任何库。您仍然需要typingPython 3.8 及更低版本的库。


推荐阅读