2015-07-21 94 views
-3
class classname(): 
    def func(self,a,b): 
     self.c = a+b 
     self.d = a-b 
     self.e = a*b 
    return self 
cn = classname() 

這樣我就可以訪問cn.c,cn.d和cn.e我可以使用別的東西然後自己返回它,它將是一個結構。我知道它可能在matlab中,你可以在一個函數中定義結構。什麼東西我期望應該是這樣的:在Python中返回實例

class classname(): 
    def func(self,newself,a,b): 
     self.c = a+b 
     self.d = a-b 
     newself.e = a*b 
    return self, newself 
cn = classname() 

我知道這是不是一個有效的代碼,但只是一個想法是什麼,我從代碼想。

+2

您應該閱讀[Python教程](https://docs.python.org/tutorial)以熟悉Python如何使用類。 – BrenBarn

+1

你自己是什麼意思,你爲什麼要使用它? – Brian

+0

newself只是一個包含e值的結構 –

回答

2

我想你想要的是這樣的:

class classname: 
    def __init__(self, a, b): 
     self.c = a+b 
     self.d = a-b 
     self.e = a*b 
cn = classname(12, 34) # Just random values for 'a' and 'b'. Use whatever you like! 
print(cn.c) 
>>> 46 
print(cn.d) 
>>> -22 
print(cn.e) 
>>> 408 

創建對象時,__init__功能被自動調用。 Self將始終引用該對象,因此向其添加屬性會將其添加到該對象,因此不需要返回任何內容。