如何为Python变量显式指定类类型?

2024-06-17 10:32:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python相当陌生,来自Java背景。我有这样的想法:

class A:
    def __init__(self):
        self.var1 = 1
        self.var2 = 2

class B:
    def __init__(self):
        self.my_list = []

    def add(self, a_object):
        self.my_list.append(a_object)

    def show(self):
        for a_object in self.my_list:
            print(a_object.var1, a_object.var2)

现在,我知道这段代码将运行,但我的问题是,是否有任何方法可以在show方法中指定a_object变量实际上是类型A的对象(类似于类型转换-我将用java编写类似(A)a_object的东西)。我希望这首先是为了更好的代码可读性和自动完成。我想另一个解决办法是键入列表,如果可能的话,我也很喜欢这个列表

多谢各位


Tags: 方法代码self列表objectinitmydef
1条回答
网友
1楼 · 发布于 2024-06-17 10:32:47

您可以使用类型提示。但是,请注意,这不是强制的,而是引导您和IDE知道您是否传递了正确的参数

如果您对静态类型感兴趣,还可以选中^{}

from typing import List


class A:
    def __init__(self):
        self.var1 = 1
        self.var2 = 2

class B:
    def __init__(self):
        self.my_list: List[A] = []

    def add(self, a_object: A):
        self.my_list.append(a_object)

    def show(self):
        for a_object in self.my_list:
            print(a_object.var1, a_object.var2)

相关问题 更多 >