【发布时间】:2021-08-28 04:46:58
【问题描述】:
我是 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 类型的对象(如类型转换 - 我会像(A)a_object一样用java写)。我首先希望这是为了代码的更好的可读性以及自动完成。我猜另一种解决方案是键入列表,如果可能的话,我也很感兴趣。
谢谢。
【问题讨论】:
-
你可以输入类型提示:
def add(self, a_object: A):这不是由解释器强制执行的(当然:Python 不像 Java 那样强类型),但 IDE 可以理解。
标签: python python-3.x list python-2.x python-typing