![](/img/trans.png)
[英]Specify a class attribute as an argument to a class method python class object
[英]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.