2014-01-13 85 views
0

内新对象我正在学习有关类和成员函数,我想知道什么是实现这个正确的方法:定义类蟒蛇

class window: 

    def __init__(self,x,y,width,height): 
    self.x=x 
    self.y=y 
    self.width=width 
    self.height=height 

    def shift(self,shift_x,shift_y): 
    self.x=self.x+shift_x 
    self.y=self.y+shift_y 

    def divide(self): 
    window A 
    A.x=(self.x)/2 
    A.y=(self.y)/2 
    A.width=(self.width)/2 
    A.height=(self.height)/2 
    return A 

如何正确地实现除法功能?我希望它返回同一班级?我知道我是预定义的像C++一样,但我不确定这是必要的还是什么是正确的解决方法,因为我得到这样的错误

回答

3

看起来像你想要的是:

def divide(self): 
    newWindow = window(self.x/2, self.y/2, self.width/2, self.height/2) 
    return newWindow 

要创建一个类的实例,可以调用它,如window(...),传递它所需的任何参数。您应该阅读以熟悉Python的基本知识。

1
A = window(self.x/2, self.y/2, self.width/2, self.height/2) 

完全相同的方式,你会创建一个对象以外的类。

+0

并且在此之后,我应该添加返回A,正确吗? – Arturo

+1

@Arturo:正确。 – user2357112