2015-07-21 56 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将始终引用该对象,因此向其添加属性会将其添加到该对象,因此不需要返回任何内容。