簡體   English   中英

python:指定 class 參數類型

[英]python: specify class argument type

我有這個 class:

class Transaction:
    
    def __init__(self, date, value, concept : str = ""):
        self.date = date
        self.value =value
        self.concept = concept

if __name__ == "__main__":
    
    transaction = Transaction(date=1,value=1,concept=1)
    print(transaction)
    print(type(transaction.concept))

我希望Transaction.concept成為str ,但正如您在下面看到的,它接受1

<__main__.Transaction object at 0x0000023AEAB88BE0>
<class 'int'>

這個問題可以幫助你理解 python 打字。 從此鏈接引用:

Python 沒有變量,就像其他語言一樣,變量有類型和值; 它有指向對象的名稱,這些對象知道它們的類型。

所以,如果你會跑

def func(arg: str):
    print(type(arg))
func(1)

你會得到

<class 'int'>

我對您的代碼的建議是使用顯式類型轉換

class Transaction:
    def __init__(self, date, value, concept : str = ""):
        self.date = date
        self.value = value
        self.concept = str(concept)

暫無
暫無

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

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