簡體   English   中英

如何為 Python 變量顯式指定 class 類型?

[英]How can I explicitly specify a class type for a Python variable?

我對 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 類型的 object (就像類型轉換 - 我會在 java 中寫的東西,比如(A)a_object )。 我首先希望這是為了更好地閱讀代碼以及自動完成。 我猜另一種解決方案是鍵入列表,如果可能的話,我也是古玩。

謝謝你。

您可以使用類型提示。 但是請注意,這不是強制執行的,而是引導您 - 以及 IDE - 了解您是否傳遞了正確的 arguments。

如果您對 static 打字感興趣,您也可以查看mypy

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM