簡體   English   中英

如何在 Python 中運行 class 方法后獲取實例變量 3

[英]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.

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