[英]How to get instance variables after running class method in Python 3
我想詢問在 Python 中運行 class 方法后如何獲取實例變量 3. 這是我的代碼示例;
class item:
def __init__(self,code,name,price,qty):
self.code=code
self.price=price
self.name=name
self.qty=qty
def blow(self):
nan = self.code + self.price
return nan
o = item(1121,'we',340,2)
o_blow = o.blow()
# Print o_blow
print(o_blow)
打印o_blow
后,它返回
1461
我的問題是,如何從self.name
變量中獲取o_blow
的值? 有沒有辦法可以從o_blow
變量中獲取用於實例化self.name
的 self.name ('we') 的值?
我試過o_blow.name
但它返回了這個錯誤
Traceback (most recent call last):
File "main.py", line 14, in <module>
print(o_blow.name)
AttributeError: 'int' object has no attribute 'name'
那將是
o.name
您的 function 返回一個int
,而不是item
的實例(更不用說o
)。 因此,您無法從中獲得名稱。 您可以返回self
,它會按照您的意願行事。
class Item:
def __init__(self,code,name,price,qty):
self.code=code
self.price=price
self.name=name
self.qty=qty
def blow(self):
self.nan = self.code + self.price
return self
o = Item(1121,'we',340,2)
o_blow = o.blow()
# Print o_blow
print(o_blow.nan) # nan value
print(o_blow.name) # name
正如您在錯誤日志中看到的,o_blow 類型是 int。 它是新的 object 未連接到您的 class 項目,因此您無法獲取 self.name 的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.