在类python中定义新对象

时间:2014-01-13 00:26:25

标签: python class member-functions

我正在学习类和成员函数,我想知道实现它的正确方法是什么:

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 ++中预定义了A,但我不确定这是否必要或者是什么是正确的解决方法,因为我这样做会出错

3 个答案:

答案 0 :(得分:3)

看起来你想要的是:

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

要创建一个类的实例,可以像window(...)一样调用它,传递它需要的任何参数。

您应该阅读the Python tutorial以熟悉Python的基础知识。

答案 1 :(得分:1)

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

与在课堂外创建对象的方式完全相同。

答案 2 :(得分:1)

使用my_instance = MyClass()实例化一个类。您可能应该查看有关类和对象的官方Python教程部分:http://docs.python.org/2/tutorial/classes.html